載入自定義 cell 的 XIB 檔案 的兩種方式

2022-03-09 11:32:06 字數 1335 閱讀 3435

自定義單元格如果是使用 ib  方式建立的,則需要手動載入,因為 xib 上的 cell 不會自動載入

第一種:使用應用程式束

應用程式束 nsbundle:獲得工程中所有的資源的路徑,相當於當前工程的目錄。

//

獲得指定的xib中所有的檢視

nsarray * array =  [[nsbundle mainbundle] loadnibnamed:@"

zytableviewcell

" owner:nil options:nil];

注意通過應用程式束獲得返回值是 xib 檔案中所有的頂層檢視,以陣列的形式返回;

所以需要在陣列中找到你需要的檢視。

通過 iskindofclass 方法可以知道是不是想要的型別

第二種:註冊 xib

//

註冊xib;找不到重用的cell的時候,系統可以根據註冊的cell去建立

uinib * nib = [uinib nibwithnibname:@"

zytableviewcell

"bundle:nil];

[tableview registernib:nib forcellreuseidentifier:

@"cell」];  //在註冊的時候先寫這句,然後逆向獲得 nib 物件,即根據需要獲得所需引數,這裡的 bundle 處可填寫 nil ,因為這是在主方法裡, 否則可通過下面的方法獲得 nib 物件。

nsbundle *bundle = [nsbundle mainbundle];

uinib *nib = [uinib nibwithnibname:@

"zytableviewcell"

bundle:bundle];

第二種方法適用於使用下面這句**獲得重用的 cell

zytableviewcell * cell = [tableview dequeuereusablecellwithidentifier:@"

cell

" forindexpath:indexpath];

示例:

-(uitableviewcell*)tableview:(uitableview *)tableview cellforrowatindexpath:(nsindexpath *)indexpath}}

return

cell;

}

如何值通過xib自定義cell

關鍵 如下 uitableviewcell tableview uitableview tableview cellforrowatindexpath nsindexpath indexpath nsinteger row indexpath row cell.textlabel text data...

自定義View 載入Xib方式

不同點xib的載入方式 nsarray views nsbundle mainbundle loadnibnamed xib檔名 owner nil options nil uinib nib uinib nibwithnibname xib檔名 bundle nil nsarray views n...

自定義非等高cell01 xib

uitableview中有很多情況下cell的高度是不固定的,這時候cell的高度取決於內容的多少,今天介紹幾個方法來達到自定義非等高cell的效果。lmtestcell.h中加入方法 返回cell 高度 cgfloat cellheight lmtestcell.m中對應方法 cgfloat ce...