iOS UITableView 常用方法集合

//聯(lián)系人:石虎QQ: 1224614774昵稱:嗡嘛呢叭咪哄

實(shí)現(xiàn)代理三部曲:

一:遵守代理

二:把tableView.delegate = self

三:實(shí)現(xiàn)代理方法

- (void)viewDidLoad {

[superviewDidLoad];

self.view.backgroundColor= [UIColorwhiteColor];

[self.viewaddSubview:self.tableView];

}

#pragma mark - getter/setter

- (UITableView*)tableView {

if(!_tableView) {

_tableView=[[UITableViewalloc]initWithFrame:self.view.framestyle:UITableViewStyleGrouped];

_tableView.backgroundColor=RGB(239,239,239);

_tableView.showsVerticalScrollIndicator=NO;

_tableView.showsHorizontalScrollIndicator=NO;

_tableView.delegate=self;

_tableView.dataSource=self;

//分割線顏色

_tableView.separatorStyle=UITableViewCellSeparatorStyleNone;

分割線顏色

}

return_tableView;

}

************ UITableView 方法 ************

//多少組

-(NSInteger)numberOfSectionsInTableView:(UITableView*)tableView{

return6;

}

//多少行

-(NSInteger)tableView:(UITableView*)tableView numberOfRowsInSection:(NSInteger)section{

NSArray*arr = [dicobjectForKey:[dic.allKeysobjectAtIndex:section]];

return10;

}

//每行顯示什么內(nèi)容

-(UITableViewCell*)tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath{

staticNSString*cellId =@"CELLID";

UITableViewCell*cell = [tableViewdequeueReusableCellWithIdentifier:cellId];

if(!cell) {

cell? = [[UITableViewCellalloc]initWithStyle:UITableViewCellStyleValue1reuseIdentifier:cellId];

}

returncell;

}

//組頭名字

-(NSString*)tableView:(UITableView*)tableView titleForHeaderInSection:(NSInteger)section{

return@"石虎";

}

//點(diǎn)擊選中

-(void)tableView:(UITableView*)tableView didSelectRowAtIndexPath:(NSIndexPath*)indexPath{

//跳轉(zhuǎn)到二級界面

SHMessageViewController*mess = [[SHMessageViewControlleralloc]init];

//跳轉(zhuǎn)

[selfpresentViewController:messanimated:YEScompletion:nil];

}

取消選中時(shí)候用的方法(不常用)

- (void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath

//控制分區(qū)個(gè)數(shù)

- (NSInteger)numberOfSectionsInTableView:(UITableView*)tableView

{

return2;

}

//section上Header顯示的內(nèi)容

- (NSString*)tableView:(UITableView*)tableView titleForHeaderInSection:(NSInteger)section

{

return@"section上Header顯示的內(nèi)容";

}

//section上Footer顯示的內(nèi)容

- (NSString*)tableView:(UITableView*)tableView titleForFooterInSection:(NSInteger)section

{

return@"section上Footer顯示的內(nèi)容";

}

//section頂部的高度

- (CGFloat)tableView:(UITableView*)tableView heightForHeaderInSection:(NSInteger)section

{

return20;

}

//cell的高度

- (CGFloat)tableView:(UITableView*)tableView heightForRowAtIndexPath:(NSIndexPath*)indexPath

{

return50;

}

//該方法返回值用于在表格右邊建立一個(gè)浮動的索引

- (NSArray*)sectionIndexTitlesForTableView:(UITableView*)tableView

{

return[NSArrayarray];

}

//當(dāng)用戶將要選中表格中的某行時(shí)觸發(fā)方法

- (NSIndexPath*)tableView:(UITableView*)tableView willSelectRowAtIndexPath:(NSIndexPath*)indexPath;

//當(dāng)用戶完成選中表格中的某行時(shí)觸發(fā)方法

-(void)tableView:( UITableView *)tableView didSelectRowAtIndexPath:( NSIndexPath *)indexPath

//當(dāng)用戶將要取消選中表格中某行時(shí)觸發(fā)

- ( NSIndexPath *)tableView:( UITableView *)tableView willDeselectRowAtIndexPath:( NSIndexPath *)indexPath

//當(dāng)用戶完成取消選中表格中某行時(shí)觸發(fā)

- (void)tableView:( UITableView *)tableView didDeselectRowAtIndexPath:( NSIndexPath *)indexPath

************ UITableViewCell方法************

0.當(dāng)一個(gè)cell被選中的方法

- (void)setSelected:(BOOL)selected animated:(BOOL)animated

1.返回表格中指定indexPath對應(yīng)的cell

- ( UITableViewCell *)cellForRowAtIndexPath:( NSIndexPath *)indexPath;

2.返回指定cell的indexPath

- ( NSIndexPath *)indexPathForCell:( UITableViewCell *)cell;

3.返回表格中指定點(diǎn)所在的indexPath

- ( NSIndexPath *)indexPathForRowAtPoint:( CGPoint )point;

4.返回表格中指定區(qū)域內(nèi)所有indexPath組成的數(shù)組

- ( NSArray *)indexPathsForRowsInRect:( CGRect )rect;

5.返回表格中所有可見區(qū)域內(nèi)cell的數(shù)組

- ( NSArray *)visibleCells;

6.返回表格中所有可見區(qū)域內(nèi)cell對應(yīng)indexPath所組成的數(shù)組

- ( NSArray *)indexPathsForVisibleRows;

7.控制該表格滾動到指定indexPath對應(yīng)的cell的頂端中間或者下方

- ( void )scrollToRowAtIndexPath:( NSIndexPath *)indexPath atScrollPosition:( UITableViewScrollPosition )scrollPosition animated:( BOOL )animated;

8.控制該表格滾動到選中cell的頂端中間或者下方

-( void )scrollToNearestSelectedRowAtScrollPosition:( UITableViewScrollPosition )scrollPosition animated:( BOOL )animated;

************單元格的選中--屬性************

0.獲取選中cell對應(yīng)的indexPath

- ( NSIndexPath *)indexPathForSelectedRow;

1.控制該表格是否允許被選中

@property ( nonatomic ) BOOL allowsSelection

2.控制該表格是否允許多選

@property ( nonatomic ) BOOL allowsMultipleSelection

3.控制表格處于編輯狀態(tài)時(shí)是否允許被選中

@property ( nonatomic ) BOOL allowsSelectionDuringEditing;

4.控制表格處于編輯狀態(tài)時(shí)是否允許被多選

@property ( nonatomic ) BOOL allowsMultipleSelectionDuringEditing

5.獲取所有被選中的cell對應(yīng)的indexPath組成的數(shù)組

- ( NSArray *)indexPathsForSelectedRows

7.控制該表格選中指定indexPath對應(yīng)的表格行,最后一個(gè)參數(shù)控制是否滾動到被選中行的頂端中間和底部

- ( void )selectRowAtIndexPath:( NSIndexPath *)indexPath animated:( BOOL )animated scrollPosition:( UITableViewScrollPosition )scrollPosition;

8.控制取消選中該表格中指定indexPath對應(yīng)的表格行

- ( void )deselectRowAtIndexPath:( NSIndexPath *)indexPath animated:( BOOL )animated;

************關(guān)于對表格的編輯方法************

1.對表格控件執(zhí)行多個(gè)連續(xù)的插入,刪除和移動操作之后調(diào)用這個(gè)方法結(jié)束

- ( void )endUpdates;

2.對表格控件執(zhí)行多個(gè)連續(xù)的插入,刪除和移動操作之前調(diào)用這個(gè)方法開始更新

- ( void )beginUpdates;

3.刪除一個(gè)或多個(gè)indexPath處的cell

- ( void )deleteRowsAtIndexPaths:( NSArray *)indexPaths withRowAnimation:( UITableViewRowAnimation )animation;

4.在一個(gè)或多個(gè)indexPath處插入cell

- ( void )insertRowsAtIndexPaths:( NSArray *)indexPaths withRowAnimation:( UITableViewRowAnimation )animation;

5.將制定indexPath處的cell移動到另個(gè)一indexPath處

- ( void )moveRowAtIndexPath:( NSIndexPath *)indexPath toIndexPath:( NSIndexPath *)newIndexPath

6.將指定分區(qū)移動到另一個(gè)位置

- ( void )moveSection:( NSInteger )section toSection:( NSInteger )newSection

7.刪除指定indexSet所包含的一個(gè)或多個(gè)分區(qū)號所對應(yīng)的分區(qū)

- ( void )deleteSections:( NSIndexSet *)sections withRowAnimation:( UITableViewRowAnimation )animation;

8.指定的indexSet所包含的一個(gè)或多個(gè)分區(qū)號對應(yīng)的位置插入分區(qū)

- ( void )insertSections:( NSIndexSet *)sections withRowAnimation:( UITableViewRowAnimation )animation;

9.當(dāng)用戶對指定表格行編輯(包括插入和刪除)時(shí)觸發(fā)該方法

- ( void )tableView:( UITableView *)tableView commitEditingStyle:( UITableViewCellEditingStyle )editingStyle forRowAtIndexPath:( NSIndexPath *)indexPath;

10.該方法返回值決定指定indexPath對應(yīng)的cell是否可以編輯

- ( BOOL )tableView:( UITableView *)tableView canEditRowAtIndexPath:( NSIndexPath *)indexPath;

11.該方法返回值決定指定indexPath對應(yīng)的cell是否可以移動

- ( BOOL )tableView:( UITableView *)tableView canMoveRowAtIndexPath:( NSIndexPath *)indexPath;

12.開始/完成編輯時(shí)調(diào)用的兩個(gè)方法

- ( void )tableView:( UITableView *)tableView willBeginEditingRowAtIndexPath:( NSIndexPath *)indexPath;

- ( void )tableView:( UITableView *)tableView didEndEditingRowAtIndexPath:( NSIndexPath *)indexPath;

13.該方法返回值決定了indexPath處的cell的編輯狀態(tài)返回值為枚舉類型分別為None Delete Insert

- ( UITableViewCellEditingStyle )tableView:( UITableView *)tableView editingStyleForRowAtIndexPath:( NSIndexPath *)indexPath;

14.該方法決定了cell處于被編輯狀態(tài)時(shí)是否應(yīng)該縮進(jìn)若未重寫所有cell處于編輯狀態(tài)時(shí)都會縮進(jìn)

- ( BOOL )tableView:( UITableView *)tableView shouldIndentWhileEditingRowAtIndexPath:( NSIndexPath *)indexPath;

15.該方法觸發(fā)移動通常對數(shù)據(jù)進(jìn)行處理(重要)

- ( void )tableView:( UITableView *)tableView moveRowAtIndexPath:( NSIndexPath *)sourceIndexPath toIndexPath:( NSIndexPath *)destinationIndexPath;

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末眷唉,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子吵冒,更是在濱河造成了極大的恐慌翁授,老刑警劉巖,帶你破解...
    沈念sama閱讀 210,978評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件艾疟,死亡現(xiàn)場離奇詭異,居然都是意外死亡俐银,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評論 2 384
  • 文/潘曉璐 我一進(jìn)店門琅坡,熙熙樓的掌柜王于貴愁眉苦臉地迎上來悉患,“玉大人,你說我怎么就攤上這事榆俺∈墼辏” “怎么了?”我有些...
    開封第一講書人閱讀 156,623評論 0 345
  • 文/不壞的土叔 我叫張陵茴晋,是天一觀的道長陪捷。 經(jīng)常有香客問我,道長诺擅,這世上最難降的妖魔是什么市袖? 我笑而不...
    開封第一講書人閱讀 56,324評論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮烁涌,結(jié)果婚禮上苍碟,老公的妹妹穿的比我還像新娘。我一直安慰自己撮执,他們只是感情好微峰,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,390評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著抒钱,像睡著了一般蜓肆。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上谋币,一...
    開封第一講書人閱讀 49,741評論 1 289
  • 那天仗扬,我揣著相機(jī)與錄音,去河邊找鬼蕾额。 笑死早芭,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的诅蝶。 我是一名探鬼主播逼友,決...
    沈念sama閱讀 38,892評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼秤涩!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起司抱,我...
    開封第一講書人閱讀 37,655評論 0 266
  • 序言:老撾萬榮一對情侶失蹤筐眷,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后习柠,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體匀谣,經(jīng)...
    沈念sama閱讀 44,104評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡照棋,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了武翎。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片烈炭。...
    茶點(diǎn)故事閱讀 38,569評論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖宝恶,靈堂內(nèi)的尸體忽然破棺而出符隙,到底是詐尸還是另有隱情,我是刑警寧澤垫毙,帶...
    沈念sama閱讀 34,254評論 4 328
  • 正文 年R本政府宣布霹疫,位于F島的核電站,受9級特大地震影響综芥,放射性物質(zhì)發(fā)生泄漏丽蝎。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,834評論 3 312
  • 文/蒙蒙 一膀藐、第九天 我趴在偏房一處隱蔽的房頂上張望屠阻。 院中可真熱鬧,春花似錦额各、人聲如沸国觉。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,725評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蛉加。三九已至,卻和暖如春缸逃,著一層夾襖步出監(jiān)牢的瞬間针饥,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,950評論 1 264
  • 我被黑心中介騙來泰國打工需频, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留丁眼,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,260評論 2 360
  • 正文 我出身青樓昭殉,卻偏偏與公主長得像苞七,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子挪丢,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,446評論 2 348

推薦閱讀更多精彩內(nèi)容