我有一个细节视图控制器,根据您在主视图控制器中按下的单元格,它具有不同的文本长度。如何根据内容的大小来设置单元格的高度?
仅供参考,该单元格由3个标签和1个图像视图组成。它垂直设置为UILabel
,UIImageView
,UILabel
,UILabel
。
我正在使用Swift。
当我添加自动布局约束时会发生这种情况:
答案 0 :(得分:0)
这样做的方法是使用自动布局。您需要从单元格的顶部到底部设置垂直约束:
自动布局将根据您在标签和图片视图中放置的内容的大小来确定单元格的大小。
您还应该记得将表视图上的estimatedRowHeight
属性设置为一些有意义的值。这将有助于表格视图将内容大小的某些计算推迟到用户开始滚动时。
另外,将表格视图的rowHeight
属性设置为UITableViewAutomaticDimension
。
答案 1 :(得分:0)
您需要做的事情有四件事:
tableView:heightForRowAtIndexPath
方法设置为返回UITableViewAutomaticDimension
。tableView:estimatedHeightForRowAtIndexPath
以返回单元格的平均高度。你可以将它设置为静态的东西,如100。contentView
绑定。preferredMaxLayoutWidth
属性,使其等于标签的宽度。答案 2 :(得分:0)
要解决此问题,我将sizeToFit()
属性添加到我的标签中。