簡體   English   中英

我需要設置UITableViewCell動態高度,並使用UIImageView設置多個動態標簽

[英]I need to set UITableViewCell Dynamic Height, With Multiple dynamic label with UIImageView

我需要根據其內容設置UITableViewCell動態高度。

這是我的演示圖像:

在此處輸入圖片說明

在此標簽中包含動態內容,因此基於該標簽內容,我的單元格高度應更改。

我收到約束錯誤。 在此單元格中,兩個UILabel可用,並且都具有動態內容大小。 (我已經使用僅一個標簽的自動調整大小單元格進行了演示。)但是在此單元格中有兩個標簽。 所以錯誤是xcode建議我給Y POS或Height貼上標簽,但是我已經設置了最高約束。 (4條約束線,標簽線設置為0零),但仍然失敗。 我也嘗試使用此代碼

self.tableView.estimatedRowHeight = 250.0;
self.tableView.rowHeight = UITableViewAutomaticDimension;

這是我的演示代碼

查看我的輸出的屏幕截圖。 對於這兩個標簽,都應同時給出所有四個約束,並且必須將兩個標簽的高度都更改為750,並將擁抱和抵抗的優先級設置為1000。然后,必須將情節提要中的行數更改為0

func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {

        return UITableViewAutomaticDimension
    }

    func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat {

        return 250

    }

在此處輸入圖片說明

將此代碼添加到viewDidLoad()方法中:

tableView.rowHeight = UITableViewAutomaticDimension
tableView.estimatedRowHeight = 44

在Swift 3中,使用

func tableView(_ tableView: UITableView,estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat {

    return HEIGHT // Maximum cell height
}

在表格視圖單元格中,將動態高度約束設置為文本視圖(大於或等於)-最大文本視圖高度

我發現了問題。 在將文本設置為UILabel ,它仍未為其內容設置正確的高度框架。 cellForRowAt ,只需添加以下內容:

//these make height frame both of labels became correct

cell.lbName.sizeToFit()
cell.lbAge.sizeToFit()

// update cell layout
cell.layoutIfNeeded()

看看UITableViewDelegate函數tableView(_:heightForRowAt:) 如果您能夠計算給定索引路徑的高度,則可以使用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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