iOS開發那些事 自定義單元格實現

2021-09-05 03:42:52 字數 1962 閱讀 4844

自定義單元格

當蘋果公司提供給的單元格樣式不能我們的業務需求的時候,我們需要自定義單元格。在ios 5之前,自定義單元格可以有兩種實現方式:**實現和用xib技術實現。用xib技術實現相對比較簡單,建立乙個xib檔案,然後定義乙個繼承 uitableviewcell類單元格類即可。在ios 5之後我們又有了新的選擇,故事板實現方式,這種方式比xib方式更簡單一些。

我們把簡單表檢視案例的原型圖修改一下,這種情況下四種內建的單元格樣式就不合適了。

設計畫麵中上部會有乙個單元格設計畫面,我們可以在這個位置進行單元格布局的設計。從物件庫拖拽乙個label和image view到單元格設計畫面,調整好它們的位置。

建立自定義單元格類customcell, 選擇uitableviewcell為父類

再 回到ib設計畫面,在ib中左邊選擇「table view controller scene」 → 「table view controller」 → 「table view」 → 「table view cell」,開啟單元格的標識檢查器,在class的選項中選擇customcell類。

為lable和imageview控制項連線輸出口

本案例的**如下:

//

//  customcell.h

//  customcell

#import 

@inte***ce customcell : uitableviewcell 

@property (weak, nonatomic) iboutlet uilabel *name; 

@property (weak, nonatomic) iboutlet uiimageview *image; 

@end 

////  customcell.m

//  customcell

#import 「customcell.h」

@implementation customcell 

@end 

customcell類的**比較簡單,在有些業務中還需要定義動作。

修改檢視控制器viewcontroller.m中的tableview: cellforrowatindexpath:方法,**如下:

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

nsuinteger row = [indexpath row]; 

nsdictionary *rowdict = [self.listteams objectatindex:row]; 

cell.name.text =  [rowdict objectforkey:@"name"]; 

cell.image.image = [uiimage imagenamed:[rowdict objectforkey:@"image"]]; 

nsuinteger row = [indexpath row]; 

nsdictionary *rowdict = [self.listfilterteams objectatindex:row]; 

cell.textlabel.text =  [rowdict objectforkey:@"name"]; 

nsstring *imagepath = [rowdict objectforkey:@"image"]; 

cell.image.image = [uiimage imagenamed:imagepath]; 

cell.accessorytype = uitableviewcellaccessorydisclosureindicator; 

return cell; } 

我們看到if (cell == nil){}**被移除,這是因為我們在ib中已經將重用標識設定為cell了。 方法中的其它**與簡單表一致,此處不再贅述。執行一下。

iOS開發那些事 自定義單元格實現

自定義單元格 當蘋果公司提供給的單元格樣式不能我們的業務需求的時候,我們需要自定義單元格。在ios 5之前,自定義單元格可以有兩種實現方式 實現和用xib技術實現。用xib技術實現相對比較簡單,建立乙個xib檔案,然後定義乙個繼承 uitableviewcell類單元格類即可。在ios 5之後我們又...

自定義單元格

自定義單元格有兩種方法 1 通重載入xib的方式 如果單元格的樣式都一樣的話,這種方法很便捷 注 這種方式只能用於單元格樣式一樣的情況 2 全部手寫 通重載入xib的方式自定義單元格 設定重用id cztableviewcell.h檔案 import class czgoods inte ce cz...

自己的自定義單元格 IOS

定義自己的單位格有三種方法 xib storyboard 推薦 操作方法故事板 1 在tableview財產prototype cells至1。莫感覺1 2 須要建立自己定義的單元格類 3 設定table view cell的class為自己定義類 自己定義類 並不難 import customce...