NSLayoutConstraint 和动态 UITableViewCell 高度
Posted
技术标签:
【中文标题】NSLayoutConstraint 和动态 UITableViewCell 高度【英文标题】:NSLayoutConstraint and dynamic UITableViewCell height 【发布时间】:2012-10-09 18:33:28 【问题描述】:如何为动态 tableViewCell 高度编写(或在 IB 中执行)布局约束?例如,如果单元格的 contenView 中有 textView(大小适合),我希望单元格与标签一样高。
【问题讨论】:
【参考方案1】:如果您已经完全正确地设置了约束,您可以通过获取单元格的实例并在其上调用systemLayoutSizeFittingSize:UILayoutFittingCompressedSize
来计算高度。这将导致您的实例围绕约束收缩,从而为您提供所需的高度。
但是,表格中的单元格的高度仍将来自tableView:heightForRowAtIndexPath:
。所以你仍然必须做在自动布局存在之前你会做的事情:你必须提前计算所有单元格的高度,以便你可以响应tableView:heightForRowAtIndexPath:
的一连串呼叫。不同之处在于,现在您使用自动布局来执行高度计算,而不是之前所做的任何事情。
现在有个坏消息:对于长桌,这可能会很慢。
【讨论】:
以上是关于NSLayoutConstraint 和动态 UITableViewCell 高度的主要内容,如果未能解决你的问题,请参考以下文章
由于 NSLayoutConstraint 错误,具有 automaticDimension 的 UITableView 不会动态增加大小
Superview中UIPageControl的编程垂直对齐使用NSLayoutConstraint