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