<<  < 2016 - >  >>
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31





直接来实现表格协议的方法吧
实现协议  UITableViewDataSource、UITableViewDelegate
UITableView必须用到的三个方法

1.提供表格有多少个分组(默认表格是一个分组)
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView

2.提供指定的分组有多少行
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section

3.提供表格单元格的内容
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

其他的有
4.提供行高(默认行高:44.0)
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath

5.提供单元格内容的缩进
-(NSInteger)tableView:(UITableView *)tableView indentationLevelForRowAtIndexPath:(NSIndexPath *)indexPath

6.提供表格是否可以编辑(默认是YES)
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath{
    return YES;
}

7.提供表格编辑的样式(默认是删除样式)
- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath{
    return _editingStyle;
}

8.提交编辑后的内容
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath

9.提供表格是否可以移动
- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath{
    return _canMove;
}

10.提交移动的状态
- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)sourceIndexPath toIndexPath:(NSIndexPath *)destinationIndexPath

11.选中行事件
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

12.取消选中行事件
- (void)tableView:(UITableView *)tableView didDe***RowAtIndexPath:(NSIndexPath *)indexPath

13.详情按钮的点击事件
- (void)tableView:(UITableView *)tableView accessoryButtonTappedForRowWithIndexPath:(NSIndexPath *)indexPath

14.提供删除按钮的标题
-(NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath

15.提供分组的头部标题内容
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section

16.提供分组的尾部标题内容
- (NSString *)tableView:(UITableView *)tableView titleForFooterInSection:(NSInteger)sectin

17.提供分组的头部视图
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section

18.提供分组的尾部视图
- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section

19.提供分组的头部高度
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section

20.提供分组的尾部高度
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section

21.提供分组的索引
- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView


其它的属性:
***ionStyle 设置选中行的样式
UITableViewCellSelectionStyleNone 无
UITableViewCellSelectionStyleGray 灰色

accessoryType 按钮样式
UITableViewCellAccessoryNone  无
UITableViewCellAccessoryDisclosureIndicator,
UITableViewCellAccessoryDetailDisclosureButton,
UITableViewCellAccessoryCheckmark,  选中标识
UITableViewCellAccessoryDetailButton 详细按钮

Style 样式
UITableViewCellStyleDefault  
UITableViewCellStyleValue1
UITableViewCellStyleValue2
UITableViewCellStyleSubTitle

平时遇到的小问题:
设置单元格不能不选中  
cell.***ionStyle = UITableViewCellSelectionStyleNone;
设置单元格可以编辑

[self.tableView setEditing:YES animated:YES];

设置表格之间无分割线

    [self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone];







  • 标签:iOS UITableView 
    发表评论:
    天涯博客欢迎您!