继续上篇学到的删除行,有删除就有添加:添加行我们用
- (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; }
时间: 2024-10-10 00:54:41