![](/img/trans.png)
[英]swift uitableview in uitableviewcell with auto layout always height of 0
[英]Swift UITableView auto height
我有一個設計,其中UITableView與其他內容一起位於UIScrollView中,並且內容與表格數據一起滾動。 這意味着該表已禁用滾動,並且已拉伸到完整大小。
我正在使用自動布局,並且表格具有高度限制,設置為一些默認值。
然后,我覆蓋了viewWillLayoutSubviews方法:
override func viewWillLayoutSubviews() {
super.viewWillLayoutSubviews()
if (self.itemTableView.contentSize.height > 0) {
self.itemTableViewHeightConstraint.constant = self.itemTableView.contentSize.height
}
}
使用此方法后,當我從REST加載數據后調用self.itemTableView.reloadData()時,將高度限制設置為表內容的高度,這很棒。
在許多項目中,這曾經對我有用,但是由於某種原因,它在迅速編寫的最新項目中卻沒有用。4。是否有所改變? 為什么tableView reloadData()方法不調用viewWillLayoutSubviews()?
問題是tableView(_ tableView:UITableView,cellForRowAt indexPath:IndexPath)在返回行之前未調用self.view.setNeedsLayout()。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.