2016-05-17 109 views
0

我有TableView,例如,我为它设置了一个初始约束为10.0。现在,我已经添加了3个细胞与不同的高度尺寸(它们是自动版式细胞),例如,它们大小(50.0, 120.0, 30.0)如何根据动态高度单元设置UITableView的高度约束?

如何我现在把我的UITableView.heightConstraint = 50 + 120 + 30?

我怎么能采取自动布局单元格的大小?当我尝试打印尺寸时,我得到初始尺寸(标准44.0)

任何想法?

+0

尝试从viewDidAppear获得细胞大小! – Lion

+0

@sam uitableview? –

回答

4

如何:

self.tableView.reloadData() 
self.tableView.layoutIfNeeded() 
self.tableViewHeightConstraint.constant = self.tableView.contentSize.height 
+1

太棒了!它可以工作,但起初我需要向下滚动并返回顶部以更新尺寸。我能解决吗? – Sam

+0

没有得到您的问题。 – avismara

+0

你应该把它放在'viewWillAppear:'中。 – avismara

0

您可以动态地计算tableviewcell高度.. 尝试......

CGfloat height= [self.contentView systemLayoutSizeFittingSize:UILayoutFittingCompressedSize].height+2;