OC-TableView自帶多選功能實現

Xiaolou發表於2017-12-14

OC-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];
複製程式碼

相關文章