【发布时间】:2023-04-07 22:47:01
【问题描述】:
尽管对所有元素设置了约束,包括单元格计算高度所需的垂直元素,但自动布局似乎被忽略了:所有单元格都被挤压了。
以下是故事板中结果和约束的屏幕截图:
在持有tableView的VC中,viewDidLoad中的代码如下:
tableView.estimatedRowHeight = 120.0
tableView.rowHeight = UITableViewAutomaticDimension
注释掉第二行会给出高度为 120.0 的单元格,但也会忽略自动布局。
更新
为了简化界面,我留下了一个标签,作为约束:
- 引领空间到superview
- 超级视图的顶部空间
- 固定宽度和高度(100 和 100)
- 容器边距的底部空间,以确保单元格具有所有垂直约束来确定其高度
在这个简化的界面中,自动布局仍然没有被考虑在内,这暗示我问题不是来自设置不当的约束。
在尺寸检查器中,行高设置为 120 并选中自定义。单元格有正确的自定义类,单元格重用标识符是正确的。
【问题讨论】:
-
检查您的调试终端 - 那里是否有任何 NSLayoutConstraint 日志表明某些东西没有按预期工作?
-
调试终端@MatthewHallatt 中没有出现任何内容,谢谢。
-
@Kqtr 尝试注释这两行,然后正常运行一次,检查是否有任何变化?
-
@TusharSharma 注释掉这两行与只注释掉 rowHeight 行的效果相同:单元格的高度为 120.0,但自动布局不起作用。
-
界面生成器是否将任何约束显示为缺失或不明确?检查是否有黄色或红色的小感叹号。
标签: ios swift uitableview