iOS: UITableViewDelegate API, когда таблица переключается в режим редактирования? - PullRequest
0 голосов
/ 26 ноября 2011

Казалось бы, должен быть API на UITableViewDelegate (или, может быть, даже UITableViewDataSource), чтобы делегат знал, когда UITableView меняет состояние редактирования. Но я не могу найти ничего подобного.

Полагаю, я мог бы использовать KVO для его обнаружения, но я не хочу, если мне не нужно.

Я что-то упустил? Или действительно нет API для этого?

Ответы [ 2 ]

1 голос
/ 26 ноября 2011

Из того, что я могу понять из этой страницы, метод делегата tableView:canEditRowAtIndexPath: также вызывается при нажатии кнопки редактирования. Это означает, что вам не нужно создавать подкласс таблицы. Я не пробовал это сам, но я уверен, что это поможет. Смотрите ссылку для более подробной информации.

Обновление:

Это немного грязно, так как метод вызывается один раз для каждой ячейки. Правильный способ - использовать метод, который Дэниел Торп упоминает в своем ответе (setEditing:animated:). Но я бы просто переопределил метод в используемом UITableViewController (если у вас нет подкласса, с которым вы работаете).

Кстати, вот еще одна тема о том же самом, что и здесь, на SO: ссылка .

1 голос
/ 26 ноября 2011

Ну, UIViewController определяет - (void) setEditing: (BOOL) animated: (BOOL) animated, который вы можете переопределить в своем подклассе.Всегда вызывайте реализацию суперкласса, но это дает вам возможность изменять таблицу (например, вставлять / удалять строки) при переходе между состояниями.

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