UITableView协议方法

=====UITableViewDataSource=========必须实现方法

**************设置区中的行数*************
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section;

**************设置单元格样式**************
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;

=============可选方法===========

**************设置表中的区数,如果不实现此方法默认为1一个区**************

-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView;  
            
**************设置区头的标题**************
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section;
    
**************设置区尾的标题**************
- (NSString *)tableView:(UITableView *)tableView titleForFooterInSection:(NSInteger)section;

**************设置可编辑**************
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath;

**************设置单元格可移动
- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath;

**********编辑的具体实现(删除、插入)*******
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath;

************移动的具体实现************
- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)sourceIndexPath toIndexPath:(NSIndexPath *)destinationIndexPath;

**********获取所在行的索引路径(row、section)***********
+ (NSIndexPath *)indexPathForRow:(NSInteger)row inSection:(NSInteger)section;

=====UITableViewDelegate=========

*********设置单元格行高****************
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath;
不使用协议方法:tableView.rowHeight

********设置单元格区头的高度**********
- (CGFloat)tableView:(UITableView *)tableView
heightForHeaderInSection:(NSInteger)section;
不使用协议方法:tableView.sectionHeight

********设置单元格区尾的高度**********
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section;

*****************设置区头视图(可自定义区头)*************
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section;
重用机制、注册方法 用法类似于单元格

*****************设置区尾视图(可自定义区头)*************
- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section;
重用机制、注册方法 用法类似于单元格

***********************单元格的右边附件按钮点击实现方法************
- (void)tableView:(UITableView *)tableView accessoryButtonTappedForRowWithIndexPath:(NSIndexPath *)indexPath;

******************点击单元格方法*************
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath;

*****************反选单元格方法*****************
- (void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath

***************设置单元格编辑样式***************
- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath;

*************设置删除显示内容*****************
- (NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath

*************设置缩进(只有移动编辑样式可用)**************
- (BOOL)tableView:(UITableView *)tableView shouldIndentWhileEditingRowAtIndexPath:(NSIndexPath *)indexPath;

时间: 2024-10-10 23:26:46

UITableView协议方法的相关文章

iOS开发 UITableView的方法和属性总结

本文描述UITableView的各种方法,属性,委托以及数据源.本文的目的只是总结UITableView的用法,详细的例子另撰文描述. 1 数据源  UITableViewDataSource协议 01 返回组(节)的个数,默认是返回1,如果只有1组数据,可以不用实现该方法. - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView 02 返回某一组的行数,该组由section的值决定 - (NSInteger)table

UI控件之UIPickerView的协议方法

UIPickerView:选择视图,父类是UIView UIPickerView *pickerView=[[UIPickerView alloc]initWithFrame:CGRectMake(10, 100, 300, 50)]; 设置代理,通过代理设置显示样式和内容 pickerView.dataSource=self; pickerView.delegate=self; 当列之间有关联时,要重新设置某列的值的同时进行刷新列,可以全部刷新,也可以刷新某一列 [pickerView rel

两种局部刷新UITableView的方法的使用条件

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ //1.取消选中这一行 [tableView deselectRowAtIndexPath:indexPath animated:YES]; //2.获取当前选中的数据 Shop *shop = _shops[indexPath.row]; //3.控制当前cell是否被选中 if( [_deleteShops

iOS UITableView代理方法详解

原 iOS UITableView代理方法详解 IOS UITableView的代理方法详解(http://my.oschina.net/u/2340880/blog/404958) 一.补充 在上一篇博客中,http://my.oschina.net/u/2340880/blog/404605,我将IOS中tableView(表视图)的一些常用方法总结了一下,这篇将tableView的代理方法作了总结,对上一篇博客进行了补充. 二.UITableViewDataSourc(数据源代理) 1.必

判断代理是否实现了协议方法

1 // 3.1 判断代理是否实现了协议方法 2 if ([self.delegate respondsToSelector:@selector(tgFooterViewDidDownloadButtonClick:)]) { 3 [self.delegate tgFooterViewDidDownloadButtonClick:self]; 4 } // 代理如果使用强引用,就会产生循环引用,造成控制器和子视图都无法被释放,造成内存泄露 @property (nonatomic, weak)

UITableView 协议中常用的方法

UITableViewDataSource 协议中常用方法 1.设置右边 索引值 - ( NSArray *)sectionIndexTitlesForTableView:( UITableView *)tableView 2. 设置分组标识 - ( NSString *)tableView:( UITableView *)tableView titleForHeaderInSection:( NSInteger )section 3. 设置分组个数 - ( NSInteger )numberO

UI控件之UITableView的协议方法

<UITableViewDataSource,UITableViewDelegate> //设置表视图的编辑状态 -(void)setEditing:(BOOL)editing animated:(BOOL)animated { [super setEditing:editing animated:animated]; [_tableView setEditing:editing animated:animated]; } //设置编辑模式(插入.删除.选择),默认是删除 -(UITableV

UITableView属性方法使用大全

//设置分割线颜色 [self.left_tableView setSeparatorColor:[UIColor blackColor]]; 代理方法:使用前记得绑定delegate与datasource //UITableView返回行数 section判断不同分区返回不同的行数 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section //设置行高 - (CGFloat)

IOS UITableview代理方法总结

tableview的datasource代理 @required的两个数据源方法 1.返回每个 session 中 cell 的个数 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section; 2.创建tableviewCell(注意复用) - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtI