有很多关于自动布局的堆栈溢出问题UITableView
涉及以下内容的单元格和节页眉/页脚UIView-Encapsulated-Layout-Width
的限制条件是UITableView
用于使其组件具有正确的尺寸:
- 什么是 NSLayoutConstraint“UIView-Encapsulated-Layout-Height” 以及我应该如何强制它干净地重新计算 https://stackoverflow.com/q/25059443/2547229
- iOS 8.3 自定义键盘中的“UIView-Encapsulated-Layout-Width” https://stackoverflow.com/q/29565284/2547229
- 什么是“UIView-Encapsulated-Layout-Width”约束? https://stackoverflow.com/q/21161765/2547229
这些限制的目的似乎很明确——它们允许UITableView
并且UICollectionView
与约束布局交互并传递有关单元(和其他组件)应该有多大的规范。
大多数问题似乎是人们有一套required与这些封装约束不兼容的约束也需要大小0
。最可行的答案似乎是将用户定义的约束的优先级降低到999
这样框架就可以推翻它们。
然而 - 我有兴趣了解的是why is UITableView
需要宽度为0
其观点之一?这是一个错误吗?还是使用不当的结果?或者它完全有道理吗?
高度限制0
如果细胞是从无到有地扩展的话,有时是有意义的。降低优先级是解决这个问题的好方法。但为什么细胞会得到width of 0
?
UIView 没有固有尺寸,因此需要宽度和高度限制。UIView 封装布局宽度 and UIView 封装布局高度最初由 UICollectionView / UITableView 创建。然后根据 sizeForItem 或 heightForRowAtIndexPath 委托方法设置约束常量。确保在 cellForItem / cellForRow 方法中创建的 UICollectionViewCell / UITableViewCell 具有准确的大小。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)