继续上篇学到的删除行,有删除就有添加:添加行我们用
- (void)insertRowsAtIndexPaths:(NSArray *)indexPaths withRowAnimation:(UITableViewRowAnimation)animation
其中(NSArray *)indexPaths用于识别表视图中得行,(UITableViewRowAnimation)animation用来指定动画
核心代码如下:
//设置表单元的编辑风格
- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath{
returnUITableViewCellEditingStyleInsert;
}
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath{
//判断表单元的编辑风格
if (editingStyle ==UITableViewCellEditingStyleDelete) {
[aremoveObjectAtIndex:indexPath.row];
[tvdeleteRowsAtIndexPaths:[NSArrayarrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationAutomatic];
}
elseif (editingStyle == UITableViewCellEditingStyleInsert){
i =i+1;
NSInteger row = [indexPathrow];
NSArray *insert = [NSArrayarrayWithObjects:indexPath, nil];
NSString *str = [NSStringstringWithFormat:@"%i",i];
[ainsertObject:str atIndex:row];
[tvinsertRowsAtIndexPaths:insert withRowAnimation:UITableViewRowAnimationRight];
}
}
和上篇一样要遵守的协议:
@interface ViewController :UIViewController<UITableViewDataSource,UITableViewDelegate>{
IBOutletUITableView *tv;
NSMutableArray *a;
NSArray *b;
int i;
}