jubilee

Programing, Books and more...

UITableViewのセル編集をさせない方法

セルスワイプでの削除をやめる方法。
セルの編集を許可するかどうかを返すメソッドでNOを返す。

1
2
3
4
5
6
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath
{
    // Return NO if you do not want the specified item to be editable.
    // TODO: セル削除を可能にする時はYESに変更すること
    return NO;
}

もしくは、以下のメソッドをコメントアウト。

1
2
3
4
5
6
7
8
9
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
    if (editingStyle == UITableViewCellEditingStyleDelete) {
        [_objects removeObjectAtIndex:indexPath.row];
        [tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade];
    } else if (editingStyle == UITableViewCellEditingStyleInsert) {
        // Create a new instance of the appropriate class, insert it into the array, and add a new row to the table view.
    }
}