我有一個UITableView,我填充自動調整單元格。 UITableView
設置是相當簡單:UITableViewCell佈局不更新,直到單元格被重用
tableView.estimatedRowHeight = 70
tableView.rowHeight = UITableViewAutomaticDimension
要啓用自調整大小表視圖細胞,必須設置表視圖的 rowHeight屬性來UITableViewAutomaticDimension。您還必須 將值分配給estimatedRowHeight屬性。一旦 這兩個屬性被設置,系統就會使用自動佈局來計算 行的實際高度。
配置單元格時,我還禁用/啓用了一些約束條件來實現所需的外觀。這就是事情變得有趣的地方。單元格佈局不會更新,直到單元格被重用。從字面上看。您可以撥打layoutIfNeeded()
,setNeedsLayout()
,layoutSubviews()
或任何其他方法,您不會強制單元格更新其佈局。
其他各方面的工作還不錯:標籤不改變自己的文字,隱藏/取消隱藏的意見,但直到電池被重用佈局被卡住。
問題:是什麼原因造成的,以及如何避免這種行爲?