UITableView的常用方法

2022-07-09 14:36:12 字數 2240 閱讀 4901

一、uitableview的**方法

#pragma mark 每一行的高度

- (cgfloat)tableview:(uitableview *)tableview heightforrowatindexpath:(nsindexpath *)indexpath

#pragma mark 選中了某一行就會呼叫

- (void)tableview:(uitableview *)tableview didselectrowatindexpath:(nsindexpath *)indexpath

#pragma mark 取消選中了某一行就會呼叫

- (void)tableview:(uitableview *)tableview diddeselectrowatindexpath:(nsindexpath *)indexpath

#pragma mark 當使用者提交了乙個編輯操作就會呼叫(比如點選了「刪除」按鈕)

// 只要實現了這個方法,就會預設新增滑動刪除功能

- (void)tableview:(uitableview *)tableview commiteditingstyle:(uitableviewcelleditingstyle)editingstyle forrowatindexpath:(nsindexpath *)indexpath

#pragma mark 當移動了某一行cell就會呼叫

// 只要實現了這個方法,就會預設新增排序功能

- (void)tableview:(uitableview *)tableview moverowatindexpath:(nsindexpath *)sourceindexpath toindexpath:(nsindexpath *)destinationindexpath

二、修改cell的狀態

1.最好通過「修改模型資料」來修改cell的狀態

2.修改步驟

1> 修改模型資料

2> 重新整理**

* 整體重新整理:reloaddata(最重要)

* 區域性重新整理:reloadrowsatindexpaths:withrowanimation:

三、uitableview常見方法

1.取消選中某一行(去掉cell選中時預設的藍色背景)

- (void)deselectrowatindexpath:(nsindexpath *)indexpath animated:(bool)animated;

2.區域性重新整理(僅僅重新整理indexpaths陣列中裝著的行)

- (void)reloadrowsatindexpaths:(nsarray *)indexpaths withrowanimation:(uitableviewrowanimation)animation

3.整體重新整理(螢幕中的每一行都重新整理)

- (void)reloaddata;

4.直接刪除介面上的行數(要求模型資料也要刪掉對應的數量)

- (void)deleterowsatindexpaths:(nsarray *)indexpaths withrowanimation:(uitableviewrowanimation)animation

5.設定編輯模式

@property(nonatomic,getter=isediting) boolediting; 

- (void)setediting:(bool)editing animated:(bool)animated;

五、uitableview方法補充

1.如果tableview通過

@"cell"

這個標誌去快取池中沒有取到可迴圈利用的cell,就會載入mycell1.xib檔案來建立cell

[self.tableview registernib:[uinib nibwithnibname:@"mycell1" bundle:nil] forcellreuseidentifier:@"cell"];

2.如果tableview通過

@"cell2"

這個標誌去快取池中沒有取到可迴圈利用的cell,就會建立mycell2物件作為cell

[self.tableview registerclass:[mycell2 class] forcellreuseidentifier:@"cell2"];

// 注意:

不管是區域性重新整理,還是整體重新整理,原理都是:

uitableview重新向資料來源(datasource)和**(delegate)傳送相應的訊息,最終將得到的資料展示出來

UITableView的詳細講解

1.uitableview的初始化 csharp view plain copy uitableview tableview uitableview alloc initwithframe cgrectmake 0,0,320,420 tableview setdelegate self table...

UITableView 索引的新增

1 自定義索引 準備資料,設計乙個陣列,陣列裡面的元素為每個section的陣列。返回section總數 nsinteger numberofsectionsintableview uitableview tableview 返回每個section的行數 nsinteger tableview ui...

UITableView 的行刪除

uitableview 編輯模式 created by mj on 13 4 11.import mjviewcontroller.h inte ce mjviewcontroller property nonatomic,retain nsmutablearray data end impleme...