首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用iOS 8管理UITableviewCell的动态高度

使用iOS 8管理UITableviewCell的动态高度
EN

Stack Overflow用户
提问于 2014-11-14 22:00:36
回答 1查看 259关注 0票数 0

我正在为iOS 8的UITableViewCell尝试autoLayout的动态高度特性,我关注了这个博客http://www.appcoda.com/self-sizing-cells/。所以他们在这里提到,从iOS 8开始,管理动态高度是很容易的。(在链接中,他们使用了swift,但我使用的是objective C)

现在,在从xib进行自动布局之后,我们只需要用viewDidLoad编写这几行代码

代码语言:javascript
复制
- (void)viewDidLoad
{
    m_tableView.estimatedRowHeight = 83.0f;
    m_tableView.rowHeight = UITableViewAutomaticDimension;
}

这很好,而且我的tableView高度会根据内容动态变化。

我想知道如何更好地控制UITableViewCell的高度。

1)在我的应用程序中,我希望单元格高度基于内容(数据),但我需要有一个默认高度,如果内容高度小于默认高度,将应用默认高度。

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

那么我需要使用哪些函数来完成我的任务呢?

EN

回答 1

Stack Overflow用户

发布于 2014-11-14 23:21:28

你需要确保你的故事板原型单元格从上到下都有NSLayoutConstraints。在给定cellForRowAtIndexPath中设置的内容以计算该单元格的最终呈现高度的情况下,动态单元格大小调整将压缩您设置为最大压缩率的任何布局约束。这非常方便,但这也意味着您需要小心正确地设置约束。

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26931689

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档