NSLayoutConstraint和动态UITableViewCell高度

时间:2012-10-09 18:33:28

标签: iphone ios cocoa-touch uitableview nslayoutconstraint

如何为动态uitableViewCell高度编写(或在IB中执行)布局约束?例如,如果在单元格的contentView中有textView(大小适合),我希望单元格与标签一样高。

1 个答案:

答案 0 :(得分:3)

如果您已完全正确地设置了约束,则可以通过获取单元格的实例并在其上调用systemLayoutSizeFittingSize:UILayoutFittingCompressedSize来计算高度。这将导致您的实例围绕约束收缩,从而为您提供所需的高度。

但是,表格中的单元格仍会从tableView:heightForRowAtIndexPath:获得高度。因此,您必须先执行自动布局之前的操作:您必须提前计算所有单元格的高度,以便您可以响应tableView:heightForRowAtIndexPath:次调用。不同之处在于,现在您使用自动布局来执行高度计算,而不是之前执行的任何操作。

现在是坏消息:对于长桌来说,这可能很慢。

相关问题