// 右邊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];
複製程式碼