UITableView控制項使用總結

2021-07-04 10:20:17 字數 1840 閱讀 9495

一、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...