iOS tableView删除操作

谷梁建中
2023-12-01
  • 先设置UITableView代理
 tableview.delegate = self;
  • 设置tableView允许编辑:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
  //开启编辑模式
  [tableView setEditing:YES animated:YES];
}
  • 设置行是否可以编辑
// UITableViewDataSource协议中定义的方法。该方法的返回值决定某行是否可编辑
- (BOOL) tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath{
   return YES;
}
  • 设置 
 //通过本方法返回删除(UITableViewCellEditingStyleDelete)或者新增(UITableViewCellEditingStyleInsert)状态;
  //若不实现此方法,则默认为删除模式。
- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath {
  //表示支持默认操作
  //return UITableViewCellEditingStyleNone;
  //表示支持删除操作
  //return UITableViewCellEditingStyleDelete;
  //表示支持新增操作
  //return UITableViewCellEditingStyleInsert;
}

 

  • 进行删除操作
-(void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath{
  // 删除数组中的对应数据,注意cityList 要是可变的集合才能够进行删除或新增操作
  [list removeObjectAtIndex:indexPath.row];
  //tableView刷新方式   设置tableView带动画效果 删除数据
  [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath]withRowAnimation:UITableViewRowAnimationFade];
  //取消编辑状态
  [tableView setEditing:NO animated:YES];
}


 

 类似资料: