示例项目: http://cl.ly/1o2K2m2r262q http://cl.ly/1o2K2m2r262q
我有一个UITableView
具有从自动布局自动计算高度的自定义单元格。自定义单元格内有三个标签,每个标签与内容视图之间都有垂直间距,并从左侧推开。
当我输入数据并加载时它效果很好。
然而,当我从托管表视图的视图控制器中模态地呈现视图控制器时,我注意到当我返回到原始视图控制器时,它完全破坏了自动布局。
什么会导致这种情况呢?我将数据填充到一个简单的数组中,该数组充当表视图数据源的模型,然后它就是自动布局。这是一个如此简单的项目,我很困惑它会在哪里搞砸。
添加:我很欣赏 rdelmar 的回答,但我简直不敢相信没有单一应用程序现已发布,它利用了 iOS 8 的动态单元格功能,而不会产生非常跳跃的表格视图。这将是非常引人注目的。一定有人找到了一种方法来实现这个功能,否则他们永远不会发货。
你有几个问题。在故事板中,场景列表中有一个红色警告箭头。你不应该忽视这一点。单击它并进行它建议的更改(首先执行压缩阻力值,我认为拥抱的内容会自行消失)。
在 MasterViewController 的 viewDidLoad 中,添加自调整单元格大小所需的这两行,
self.tableView.estimatedRowHeight = 120
self.tableView.rowHeight = UITableViewAutomaticDimension // you may not need this one, I think it might be the default now
最后,我发现当我在故事板中创建单元格(而不是在代码中)时,我需要将以下方法添加到单元格类中,以便布局立即发生(否则它不会正确布局,直到您滚动或旋转),
override func didMoveToSuperview() {
self.layoutIfNeeded()
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)