2014-11-14 69 views
0

我尝试了iOS 8的UITableViewCell动态高度的autoLayout功能,我跟着这个博客http://www.appcoda.com/self-sizing-cells/。所以在这里他们提到,从iOS 8管理动态高度是无忧无虑的(在他们使用快速,但我使用客观C)的链接使用iOS 8管理UITableviewCell的动态高度

现在从xib自动布局后,我们需要写这行在viewDidLoad中

- (void)viewDidLoad 
{ 
    m_tableView.estimatedRowHeight = 83.0f; 
    m_tableView.rowHeight = UITableViewAutomaticDimension; 
} 

代码这是罚款和我的tableView高度的变化动态地根据内容。

我想知道如何更好地控制UITableViewCell的高度。 1)在我的应用程序中,我希望单元格高度基于内容(数据),但我需要有一个默认高度,如果内容高度小于默认高度,将应用默认高度。

2)我想知道在显示给用户之前单元格的最终高度是多少,因为我想在每个单元格下面添加一些UI元素。

那么我需要用什么函数来完成我的任务。

回答

1

您需要确保Storyboard原型单元从上到下有NSLayoutConstraints。动态单元大小可以压缩任何布局约束条件,以达到其最大压缩比率,假设cellForRowAtIndexPath中设置的内容用于计算该单元格的最终渲染高度。这非常方便,但这也意味着您需要小心地正确设置约束。

如果要以编程方式添加子视图,则需要确保相同的经验法则为真 - 从单元格的contentView顶部到底部有一组完整的确定性约束。此外,您需要将代码translatesAutoResizingMaskIntoConstraints中添加的任何子视图设置为NO

+0

你好@凯勒,我没有正确理解你 – Ranjit 2014-11-22 13:36:05

相关问题