自定義單元格
當蘋果公司提供給的單元格樣式不能我們的業務需求的時候,我們需要自定義單元格。在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 *)indexpathnsuinteger 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...