0
在tableView:heightForRowAtIndexPath:方法中,我需要獲取tableView:cellForRowAtIndexPath中cell.textLabel.text的長度。如何才能做到這一點?如何訪問tableView中的cell.textLabel.text:heightForRowAtIndexPath:from tableView:cellForRowAtIndexPath:
在tableView:heightForRowAtIndexPath:方法中,我需要獲取tableView:cellForRowAtIndexPath中cell.textLabel.text的長度。如何才能做到這一點?如何訪問tableView中的cell.textLabel.text:heightForRowAtIndexPath:from tableView:cellForRowAtIndexPath:
調用cellForRowAtIndexPath涉及到調用heightForRowAtIndexPath,所以如果從heightForRowAtIndexPath調用它,最終會出現無限遞歸。
你可以做的是使用你的數據源來檢查你將用來填充cellForRowAtIndexPath中的單元格的相同數據,然後使用獲取你要插入到的文本的長度cell.textLabel.text或使用NSString UIKit additions來計算標籤的大小)。
但是,如果行的高度取決於單元格中的「可用」空間(即單元格寬度,邊距減少,輔助視圖,設備方向等等),那麼該做什麼? )是的,好的,邊距非常靜態,但是其他所有內容都取決於單元本身的配置,這在heightForRow中並不真正可用,因爲您已經注意到了無限遞歸問題。當我們說話時,我正積極尋求解決辦法...... – randallmeadows 2010-10-11 21:17:19