2015-11-23 18 views
0

我有5種不同類型的自定義單元格。所以我想從自定義單元格中獲得不同的高度,因爲我根據我的要求使用了這些單元格的次數。有沒有辦法編寫一個代碼來計算.xib的高度,並將單元格的高度設置爲.xib的高度。細胞的高度應根據我選擇的自定義細胞而改變。我想從我爲海關單元創建的.xib文件獲取高度

我的問題是類似這樣的問題,但他們在這裏說,我沒有得到解決:

Change tableview row height based on multiple cell xib

回答

0

如果要實現從廈門國際銀行自定義的表格單元格,你需要繼承的TableCell方法。您可以使用awakeFromNib來定製您的表格單元格!

要知道單元的高度,您需要通過乘坐佈局子視圖的方法,你可以通過下面的代碼獲取單元格高度:

self.frame.size.height 

您可以在佈局觀察員添加到框架子視圖方法,這樣你就可以得到通知,只要有高度變化!!!!

從技術文檔

準備服務接收器已經從 Interface Builder的存檔或筆尖文件加載後。筆尖加載基礎結構 會發送一個awakeFromNib消息給每個從筆尖創建的對象,但只有在歸檔中的所有對象都已加載並初始化後纔可以加載該對象 。當一個對象收到一個awakeFromNib 消息時,它保證已經建立了所有的連接和動作 連接。您必須調用awakeFromNib的超級 實現,爲父類提供機會 以執行它們所需的任何其他初始化。儘管此方法的默認實現不會執行任何操作,但很多UIKit類 都提供了非空實現。您可以在自己的awakeFromNib方法中的任何時候調用超級實現 。

+0

感謝您的回答。但我沒有得到確切的想法如何在awakeFromNib中做到這一點,你可以告訴我的程序? –

+0

正如你所說的,你想知道每個自定義單元格的高度,在佈局子視圖方法 –

+0

中添加一個自定義單元格的框架更改觀察員我沒有得到確切的答案。我在使用xib很差,所以我必須寫這個「self.frame.size.height」,我有5個tableViewCells,所以我必須在「heightForRowAtIndexPath」方法中將它們全部子類化? –