我有一個UITableViewCell,其中有多個數據組成垂直堆棧佈局。其中一些是垂直動態的,一個是UILabel,另一個是UIImageView。帶有AutoLayout的UITableViewCell中的動態圖像高度
UIImageView是我遇到的麻煩。我在UITableViewCell中設置了一個插口的高度約束。圖像加載異步,所以UITableViewCell行的高度將是錯誤的,我們只知道圖像加載後行的真正高度。當我設置約束後更新到適當的寬高比圖像加載後,我的UITableView變得完全不可靠,圖像跳躍到整個地方和格式不能很好地工作。
我遇到了StackOverflow中的另一篇文章,提到您應該預先檢查圖像,獲取它們的寬度和高度,以便我們可以確定並在圖像加載之前設置約束。這確實允許平滑滾動。
我的問題是:這是唯一的方法嗎?是否有更好的技術使用動態圖像尺寸的AutoLayout?他們會是什麼?
我試着調用setNeedsLayout,setNeedsUpdateConstraints,updateConstraintsIfNeeded等等......他們都沒有工作。
有什麼建議嗎?
詹姆斯
感謝您的輸入!我已經在iOS和Android上預先檢索了圖像的大小。似乎在平滑滾動方面運行良好。 –
@JamesScott,不客氣! – dive