TableView多选

今天带给大家一个TableView自带的多选功能,很多刚刚入门的苹果开发者,可能还不知道这个功能,当面对这样的需求时,头痛半天需要自己去定义,但是今天告诉大家一个最简单的办法,话不多说,直接上代码
TableView多选_第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];

Demo地址 https://github.com/DaZhan/TableView_MultipleSelection

你可能感兴趣的:(TableView多选)