Я знаю, что когда я реализую tableView:willBeginEditingRowAtIndexPath:
и tableView:didEndEditingRowAtIndexPath:
, прокрутка к удалению не вызывает setEditing:animated:
в моей UITableViewController
(являющейся делегатом UITableView
).
У меня есть обычная реализация UITableViewCell
, которая немного изменяет UI при переходе в режим редактирования. Я хотел быть умным и реализовал эти изменения в setEditing:animated:
в самой реализации ячейки представления таблицы (что, очевидно, имеет смысл).
Однако при прокрутке для удаления я все равно получаю вызов setEditing:animated:
в моей реализации представления таблицы таблиц. И у меня нет параметров, которые говорят мне, что я промахиваю. В стеке вызовов также не отображается ни один из моих собственных методов, который бы дал мне шанс что-то сделать. Он показывает, что setEditing:animated
вызывается в UITableView
. Единственное, что очевидно, это то, что он не вызывается у делегата (мой контроллер в этом случае).
Конечно, я могу установить флаг в ячейке в tableView:willBeginEditingRowAtIndexPath:
, который сообщает ему, что следующий вызов setEditing
будет для прокрутки, но это не похоже на хороший стиль.
Изменить: он даже не работает, потому что не гарантируется, что вызывается tableView:didEndEditingRowAtIndexPath:
, поэтому я не могу установить флаг.
Любые идеи, как решить эту проблему элегантно?