一、uitableview 的使用步驟:
1.告訴一共有多少組資料
-(nsinteger)numberofsectionintableview:(uitableview *)tableview;
2.告訴每一組一共有多少行
-(nsinteger)tableview:(uitableview *)tableview numberofrowsinsection:(nsinteger)section;
3.設定每組每行(cell)
-(uitableviewcell *)tableview:(uitableview *)tableview cellforrowatindexpath:(nsindexpath *)indexpath;
二、使用說明
1.多少組資料和顯示多少行通常和資料息息相關,在開發中資料通常儲存在plist檔案中,需要以一定的方式載入到專案中(模型)。
2.設定cell的步驟:
(1).建立乙個cell(需要考慮效能,對cell進行迴圈利用,注意快取處理方式)
(2).為cell設定資料
(3).返回乙個cell
3.設定cell的三種方式:
(1).使用系統提供的tableviewcell
(2).通過xib自定義,適用於長相一致的,如**展示介面
(3).通過純**自定義cell,適用於有差距的,如表示高度不一樣,有的cell擁有摸個屬性,如微博展示介面。
三、自定義uitableviewcell
1.通過xib檔案自定義view的步驟:
(1).新建乙個xib檔案,描述乙個view的內部
(2).新建乙個自定義的類,需繼承自系統自帶的類,繼承自哪個類,取決於xib跟物件的class
(3).新建類的型別最好和xib的檔名保持一致
(4).將xib的控制項和自定義的類的 .m檔案進行連線
(5).提供乙個類的方法,返回乙個建立好的自定義的view(遮蔽從xib載入的過程)
(6).提供乙個模型屬性讓外界傳遞模型資料
(7).重寫模型屬性的setter方法,在這裡將模型資料展示到對應的子控制項上面
2.通過**方式自定義uitableviewcell
(1).新建乙個繼承自uitableviewcell的類
(2).重寫 initwithstyle:reuseidentifier: 方法
新增所有需要顯示的子控制項(不需要設定子控制項的資料和frame,子控制項要新增到contentview中)
對子控制項進行一次性的屬性設定(有些屬性只需要設定一次,比如字型、固定的)
(3).提供2個模型
frame模型:存放資料模型和所有子控制項的frame,cell的高度
(4).cell擁有乙個frame模型(不要自己擁有資料模型)
(5).重寫frame模型屬性的setter方法,在這個方法中設定子控制項的顯示資料和frame
(6).frame模型資料的初始化已經採取了懶載入的方式(每乙個cell對應的frame模型資料只載入一次)
四、使用**的步驟
1.先搞清楚誰是誰的**(delegate)
2.定義**協議命名規範:控制項類名+delegate
3.定義**方法:
**方法一般都定義@optional;
**方法都以控制項名開頭;
**方法至少有乙個引數,將控制項本身傳遞出去
4.設定**(delegate)物件。比如myview.delegate = ***;
**物件遵守協議;
**物件實現協議裡該實現的方法。
5.在恰當的時刻呼叫**物件的**方法,通知**發生了什麼事情(在呼叫之前判斷**是否實現了該**方法)
IOS控制項UITableView詳解
終於寫到了uitableview,用處最廣的乙個控制項,當然也是要記相當多東西的乙個控制項。首選建立乙個新的專案,並新增乙個mainviewcontroller的class檔案 開啟mainviewcontroller.h檔案 inte ce mainviewcontroller uiviewcon...
IOS控制項UITableView詳解
終於寫到了uitableview,用處最廣的乙個控制項,當然也是要記相當多東西的乙個控制項。首選建立乙個新的專案,並新增乙個mainviewcontroller的class檔案 開啟mainviewcontroller.h檔案 cpp view plain copy inte ce mainview...
IOS控制項UITableView詳解
終於寫到了uitableview,用處最廣的乙個控制項,當然也是要記相當多東西的乙個控制項。首選建立乙個新的專案,並新增乙個mainviewcontroller的class檔案 開啟mainviewcontroller.h檔案 cpp view plain copy inte ce mainview...