直接来实现表格协议的方法吧
实现协议 UITableViewDataSource、UITableViewDelegateUITableView必须用到的三个方法
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];