UITableViewCell предотвратить удаление - PullRequest
2 голосов
/ 11 мая 2010

Я ищу способ предотвратить удаление одной из моих клеток. (Кнопка «Удалить» не должна появляться рядом с ячейкой, когда табличное представление находится в режиме редактирования.)

Как это можно сделать?

Ответы [ 2 ]

7 голосов
/ 11 мая 2010

Реализация editStyleForRowAtIndexPath и возврат UITableViewCellEditingStyleNone для этой строки:

- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath
{
    if (indexPath.section == sss && indexPath.row == rrr)
        return UITableViewCellEditingStyleNone;
    else
        return UITableViewCellEditingStyleDelete;
}
2 голосов
/ 17 марта 2015

Принятый ответ работает, но это не правильный способ сделать это. Доступны два метода: editingStyleForRowAtIndexPath и canEditRowAtIndexPath

editStyleForRowAtIndexPath : использовать, когда в таблице несколько разных стилей редактирования

canEditRowAtIndexPath : Используйте, когда некоторые строки должны редактироваться, а некоторые - нет.

Поэтому правильный способ реализации вашего делегата таблицы:

- (BOOL)tableView:(UITableView *)tableView
canEditRowAtIndexPath:(NSIndexPath *)indexPath {
    if (indexPath.section == sss && indexPath.row == rrr)
    {
        return NO;
    }
    return YES;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...