EditButtonItem UIViewController не меняется с помощью салфетки для удаления


Я использую UIViewController's editButtonItem для управления режимом редактирования в моем табличном представлении.

Проблема в том, что в большинстве приложений, когда вы проводите пальцем по строке, чтобы удалить элемент, эта кнопка редактирования переходит в состояние "готово". Таким образом, пользователь может нажать "Готово", чтобы остановить удаление элементов.

кнопка готово в салфетке, чтобы удалить ситуацию

Введите описание изображения здесь

он не делает этого в моем приложении

Введите описание изображения здесь

Думаю, я мог бы изменить название и стиль кнопки редактирования в tableview:editingStyleForRowAtIndexPath:, но разве смысл UIViewController s editButtonItem не в том, чтобы быть автоматическим?

Спасибо.

2 3

2 ответа:

Реализация этих двух методов делегирования решила эту проблему для меня. Установка .редактирование свойства контроллера вида в да и обратно в НЕТ.

- (void)tableView:(UITableView *)tableView willBeginEditingRowAtIndexPath:(NSIndexPath *)indexPath
{
    self.editing = YES;
}

- (void)tableView:(UITableView *)tableView didEndEditingRowAtIndexPath:(NSIndexPath *)indexPath
{
    self.editing = NO;
}

Это происходит автоматически только тогда, когда свойство UIViewController .editing имеет значение YES. Когда вы редактируете только одну строку, сам контроллер вида не находится в режиме редактирования, поэтому он не изменяет кнопку.