UITableViewDataSource 协议中常用方法
1.设置右边 索引值
- ( NSArray *)sectionIndexTitlesForTableView:( UITableView *)tableView
2. 设置分组标识
- ( NSString *)tableView:( UITableView *)tableView titleForHeaderInSection:( NSInteger )section
3.
设置分组个数
- ( NSInteger )numberOfSectionsInTableView:( UITableView
*)tableView
4. 设置行数
- ( NSInteger )tableView:( UITableView *)tableView numberOfRowsInSection:( NSInteger )section
5. 创建
cell(使用重用机制,如下例)
- ( UITableViewCell *)tableView:( UITableView *)tableView cellForRowAtIndexPath:( NSIndexPath
*)indexPath
{
1.
创建重用标识符
static NSString *identifier = @"reuse”
;
2. 去重用队列中根据标识符取可重用的 cell
AddressBookCell *cell = [tableView dequeueReusableCellWithIdentifier :identifier];
3. 判断是否获取到可重用的 cell( 最后要空间释放 )
if (!cell) {
cell = [[[ AddressBookCell alloc ] initWithStyle : UITableViewCellStyleDefault reuseIdentifier :identifier] autorelease ];
}
return cell;
}
6. 设置 tableView 的每一行的编辑状态
(YES,可编辑)
- ( BOOL )tableView:( UITableView *)tableView canEditRowAtIndexPath:( NSIndexPath
*)indexPath
{
return YES
}
7.edit 按钮的点击事件 ( 当点击 edit 按钮时触发 )
- ( void )setEditing:( BOOL )editing animated:( BOOL )animated
8. 当提交编辑操作时触发
- ( void )tableView:( UITableView *)tableView commitEditingStyle:( UITableViewCellEditingStyle )editingStyle forRowAtIndexPath:( NSIndexPath *)indexPath
9. 设置 tableView 每一行是否允许移动(YES,可移动)
- ( BOOL )tableView:( UITableView *)tableView canMoveRowAtIndexPath:( NSIndexPath *)indexPath
{
return YES
}
10. 提交移动操作之后触发
- ( void )tableView:( UITableView *)tableView moveRowAtIndexPath:( NSIndexPath *)sourceIndexPath toIndexPath:( NSIndexPath *)destinationIndexPath
UITableViewDelegate协议中常用方法
1. 设置行高
- ( CGFloat )tableView:( UITableView *)tableView heightForRowAtIndexPath:( NSIndexPath *)indexPath
{
return 55;
}
2. 选中cell时触发
- ( void )tableView:( UITableView *)tableView didSelectRowAtIndexPath:( NSIndexPath *)indexPath
3. 设置 tableViewCell 的编辑样式 ( 插入 / 删除 )
- ( UITableViewCellEditingStyle )tableView:( UITableView *)tableView editingStyleForRowAtIndexPath:( NSIndexPath *)indexPath
4. 设置当点击编辑按钮时 上面显示的文字,如显示删除
- ( NSString *)tableView:( UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:( NSIndexPath *)indexPath NS_AVAILABLE_IOS ( 3 _0) { return @" 删除 " ; }
5. 设置 cell 移动的位置
- ( NSIndexPath *)tableView:( UITableView *)tableView targetIndexPathForMoveFromRowAtIndexPath:( NSIndexPath *)sourceIndexPath toProposedIndexPath:( NSIndexPath *)proposedDestinationIndexPath