Custom UITableViewCell中忽略Autolayout

Kqt*_*qtr 74 uitableview ios swift

尽管已经为所有元素设置了约束,包括单元格计算其高度所需的垂直元素,但自动布局似乎被忽略:所有单元格都被挤压.

这是故事板中结果和约束的屏幕截图. 在此输入图像描述

在此输入图像描述

在包含tableView的VC中,这是viewDidLoad中的代码:

tableView.estimatedRowHeight = 120.0
tableView.rowHeight = UITableViewAutomaticDimension
Run Code Online (Sandbox Code Playgroud)

注释掉第二行会使单元格的高度为120.0,但也会忽略Autolayout.

谢谢


更新

为了简化界面,我留下了一个标签,作为约束:

  • 领先的超视空间
  • 超级视图的顶层空间
  • 固定宽度和高度(100和100)
  • 底部空间到容器边距,以确保单元格具有所有垂直约束以确定其高度

通过这个简化的界面,仍然没有考虑自动布局,这暗示我的问题并非来自严重设置的约束.

在"大小"检查器中,行高设置为120,并选中"自定义".单元格具有正确的自定义类,单元格重用标识符是正确的.


更新:找到解决方案

这是一个简单的错误,请参阅下面的答案.

Kqt*_*qtr 197

自动布局被忽略,因为原型单元格和单元格的UIView都在IB中被赋予了自定义单元格类.

将UIView设置回UIView类解决了这个问题.

只是为了清楚

  • 我被这个问题困扰了几个小时,这解决了,谢谢! (4认同)