我的问题类似于this和that问题。现在,内容视图不再存在高度问题,因为我在iOS 7自定义表格视图单元格的updateConstraints
中为内容视图添加了自动调整大小屏幕(灵活高度/宽度)。
但是细胞的高度仍然存在同样的问题。它从自动调整大小的蒙版得到44点的高度。
Unable to simultaneously satisfy constraints
// ...
"<NSAutoresizingMaskLayoutConstraint:0x7a4f61f0 h=-&- v=--&
V:[TestCellAuto_CustomCell:0x7a43bb10(44)]>"
布局完全被破坏,在输出中我得到上述错误。在iOS 8.1上一切正常。只有iOS 7才会出现这个问题。
如何告诉iOS它应该计算正确的单元格高度?
似乎您必须按照Using Auto Layout in UITableView for dynamic cell layouts & variable row heights中的说明设置rowHeight
或实施heightForRowAtIndexPath
。
我的单元格的高度始终相同,但我不知道为什么自动布局无法在iOS 7上正确计算行高。在iOS 8上,旋转后行的高度错误,布局为弄乱。只有我在reloadData
中拨打willRotateToInterfaceOrientation:duration:
才能解决问题。但对于iOS 7,我仍然需要设置高度。不是一个理想的解决方案。
总而言之,这就是我现在要做的事情:
iOS 7:
self.contentView.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;
rowHeight
第一个是contentView
,第二个是UITableViewCell
。
iOS 8:
rowHeight
或reloadData
willRotateToInterfaceOrientation:duration:
自动布局有什么问题?难道我做错了什么?你总是设定一个固定的高度吗?