Только удалить шоу на определенных UITableViewCells - PullRequest
2 голосов
/ 22 июля 2011

Я сейчас работаю над приложением, в котором я хочу иметь возможность удалять некоторые вещи из UITableView после нажатия кнопки удаления. Прямо сейчас я могу заставить кнопку редактирования работать, чтобы показать круг с линией через него, чтобы показать, что вы можете удалить, но есть пара ячеек, которые я не хочу, чтобы пользователь мог удалить. Кто-нибудь знает простой способ реализации этого. Если вы посмотрите на эту ссылку , она показывает все три мои ячейки с показом удаления, но я хочу, чтобы только первые две переместились, а последняя вообще не переместилась.

Ответы [ 2 ]

2 голосов
/ 25 августа 2011

Переопределить этот метод:

- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath {

    if ({SOMETHING TO SAY IF THIS CELL CAN NOT BE DELETED}) {
        return NO;
    }
    return YES;
}
0 голосов
/ 22 июля 2011

Метод, который вы хотите переопределить:

tableView:commitEditingStyle:forRowAtIndexPath:

Прочитайте UITableViewDataSource Ссылка на протокол .Из обсуждения этого метода:

Когда пользователи нажимают элемент управления вставкой (зеленый плюс) или кнопку Удалить, связанную с объектом UITableViewCell в табличном представлении, табличное представление отправляет это сообщение даннымисточник, попросив его совершить изменение.(Если пользователь касается элемента управления удалением (красный минус), в табличном представлении затем отображается кнопка «Удалить» для получения подтверждения.) Источник данных фиксирует вставку или удаление, вызывая методы UITableView insertRowsAtIndexPaths:withRowAnimation: или deleteRowsAtIndexPaths:withRowAnimation:, каксоответствующий.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...