【发布时间】:2015-10-09 18:53:10
【问题描述】:
关于UITableView 单元格和节页眉/页脚的自动布局存在许多堆栈溢出问题,这些问题涉及UIView-Encapsulated-Layout-Width 约束,UITableView 使用这些约束使其组件的大小正确:
- what is NSLayoutConstraint "UIView-Encapsulated-Layout-Height" and how should I go about forcing it to recalculate cleanly
- iOS 8.3 'UIView-Encapsulated-Layout-Width' in Custom Keyboard
- Auto-layout: What creates constraints named UIView-Encapsulated-Layout-Width & Height?
- What is a 'UIView-Encapsulated-Layout-Width' constraint?
这些约束的目的似乎很明确——它们允许UITableView 和UICollectionView 与约束布局交互,并传递其关于单元格(和其他组件)应该有多大的规范。
大多数问题似乎是人们有一组与这些封装约束不兼容的必需约束,也需要0的大小。最可行的答案似乎是将用户定义的约束的优先级降低到999,以便框架可以否决它们。
然而——我有兴趣了解的是为什么UITableView 需要0 的宽度来获取其视图之一? 这是一个错误吗?还是使用不当的结果?还是说得通?
0 的高度限制有时是有意义的,如果单元格从无到有扩展。降低优先级是处理此问题的好方法。但为什么单元格的 宽度 为0?
【问题讨论】:
-
你找到解决方案了吗?
-
不,我没有,对不起。