簡體   English   中英

Swift UITableView自動高度

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM