如何编写(或在 IB 中执行)动态 tableViewCell 高度的布局约束?例如,如果单元格的 contenView 中有 textView(大小适合),我希望单元格与标签一样高。
最佳答案
如果您已经完全正确地设置了约束,则可以通过获取单元格实例并对其调用 systemLayoutSizeFittingSize:UILayoutFittingCompressedSize
来计算高度。这将导致您的实例围绕约束收缩,从而为您提供所需的高度。
但是,表格中的单元格仍然会从 tableView:heightForRowAtIndexPath:
中获取它们的高度。因此,您仍然必须做在自动布局出现之前会做的事情:您必须提前计算所有单元格的高度,以便您可以响应一连串的 tableView:heightForRowAtIndexPath:
调用。不同之处在于,现在您正在使用自动布局来执行高度计算,而不是之前所做的任何事情。
现在是坏消息:对于长表,这可能会很慢。
关于iphone - NSLayoutConstraint 和动态 UITableViewCell 高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12806240/