我有 UIViewController 1
,它有 ScrollView
。在此 scrollview
中,有一个 container view
固定到 top/bottom leading/trailing
(没有固定高度)。 Container view
将 UITableView
固定到 top/bottom trailing/leading
和 height constraint with 0 constant
,这将改变在 updateViewConstraints
中更改为内容大小高度。
当UIViewController 1的View出现时,Container View有约束:
NSLayoutConstraint:0x7b03e5f0 V:[UITableView:0x7c42a200(54)], NSLayoutConstraint:0x7b0ba120 V:|-(0)-[UITableView:0x7c42a200] (Names: '|':UIView:0x7b0b7000 ), NSLayoutConstraint:0x7b0ba1b0 V:[UITableView:0x7c42a200]-(0)-| (Names: '|':UIView:0x7b0b7000 ), NSLayoutConstraint:0x7b65f900 'UIView-Encapsulated-Layout-Height' V:[UIView:0x7b0b7000(0)]
将尝试通过打破约束来恢复
NSLayoutConstraint:0x7b03e5f0 V:[UITableView:0x7c42a200(54)]
什么是 UIView-Encapsulated-Layout-Heigh
t?我怎么能跳过它?因为它打破了“正确”的约束(我更新到内容大小高度)。谢谢
最佳答案
终于解决了这个问题。
1. 在您的 tableView 设置中,设置:tableView.estimatedRowHeight = 100
。
2. 在单元格的最后一个 View 中,设置:make.bottom.equalTo(contentView).priority(999)
。
3. 运行你的代码,也许没问题!
关于ios - UIView-Encapsulated-Layout-Height 和 Container View,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34009447/