OC-TableView自带多选功能实现

350 阅读1分钟

// 右边item的点击事件 - (void)itemAction:(UIBarButtonItem *)sender {

  if (!self.isEditing) {
    // 允许多个编辑
    self.tableView.allowsMultipleSelectionDuringEditing = YES;
    // 允许编辑
    self.tableView.editing = YES;
    [sender setTitle:@"完成"];
  }else {
    [sender setTitle:@"编辑"];
    // 放置要删除的对象
    NSMutableArray *deleteArray = [NSMutableArray array];
    // 要删除的row
    NSArray *selectedArray = [self.tableView indexPathsForSelectedRows];
    for (NSIndexPath *indexPath in selectedArray) {
        [deleteArray addObject:self.dataSource[indexPath.row]];
    }
    // 先删除数据源
    [self.dataSource removeObjectsInArray:deleteArray];
    // 在删除UI
    [self.tableView deleteRowsAtIndexPaths:selectedArray withRowAnimation:UITableViewRowAnimationNone];
    // 关掉编辑
    self.tableView.editing = NO;
}
self.isEditing = !self.isEditing;
}
 仅仅需要这一个item响应事件,一个多选的TableView就大功告成了。

//改变cell的选中颜色

cell.tintColor = [UIColor redColor];