Я создал MultilineCell для своего приложения, который показывает сначала UILabel, состоящую из 1-n строк текста, а затем еще одну UILabel с одной строкой текста.Чтобы обработать соответствующий входящий режим редактирования UITableView, я проверяю self.editing в моих перезаписанных -layoutSubviews и корректирую размеры соответственно.Это позволяет отследить все изменения в макете, которые могут возникнуть из-за ручки удаления влево и / или появления кнопки удаления справа.
Однако: иногда дополнительные виджеты в режиме редактирования вызывают текст вмногострочный ярлык для переноса таким образом, что добавляется новая строка.Когда я решил адаптировать -heightForTableRowAtIndexPath: для вычисления высоты другим способом, когда активен режим редактирования, я заметил, что -heightForTableRowAtIndexPath: вообще не вызывается, когда изменяется режим редактирования tableView.Заглядывая дальше в UITableViewDelegate, я нашел только методы, обрабатывающие редактирование отдельных строк.Но я ищу способ уведомления, когда UITableView в целом перешел или вышел из режима редактирования, поэтому я могу вызвать -setNeedsLayout, чтобы таблица снова запрашивала высоты отдельных ячеек.