我使用xib &自動佈局來構建我的自定義單元格,在我的單元格中,有一個多行標籤。一個在tableview中的heightForRowAtIndexPath,我會用 uitablviewcell動態高度不正確from systemLayoutSizeFittingSize
1個dequeueReusableCellWithIdentifier獲得細胞
2然後調用[cell.contentView systemLayoutSizeFittingSize:UILayoutFittingCompressedSize]以獲得正確的高度。
但在調試,我發現,當heightForRowAtIndexPath被調用時,我的手機的寬度是不tableview中的寬度,單元格的寬度是一樣的廈門國際銀行文件的寬度(因爲在xcode6,您可以設置XIB大小去任何)。所以從systemLayoutSizeFittingSize得到的高度是不正確的。我怎樣才能解決這個問題,以獲得正確的單元格高度
從systemLayoutSizeFittingSize獲取的大小:不正確,此大小可能有寬度340+(而設備是寬度爲320的iPhone5),和340+是accually細胞的XIB文件的寬度
最後,我得到了解決,感謝阿希什Gabani的幫助,事實上,該解決方案包括2步: 1單元框重置爲您的tableView大小 2在調用systemLayoutSizeFittingSize之前調用單元格的layoutSubView,並在您的自定義單元格中,您需要重寫layoutSubViews方法。 下面是修復代碼這個問題,我用的是紅色正方形,以紀念他們,享受它
因爲我的單元格的高度是動態的,所以我這樣做,使用systemLayoutSizeFittingSiz e得到我的單元格的高度,並返回heightForRowAtIndexPath.But的高度,正如我所說,在heightForRowAtIndexPath,單元格的寬度不正確,所以我得到的高度也是不正確的: – ximmyxiao 2014-12-02 09:19:35
請你可以蟲害你的代碼?你寫在你的項目中。 – 2014-12-02 09:32:35
好吧,我已經發布了代碼,請看看,問題是在綠線:尺寸的寬度可以比我的設備屏幕更寬 – ximmyxiao 2014-12-02 09:52:45