Изменение размера UITableViewCells, когда UITableView входит в режим редактирования - PullRequest
1 голос
/ 04 ноября 2011

Я создал MultilineCell для своего приложения, который показывает сначала UILabel, состоящую из 1-n строк текста, а затем еще одну UILabel с одной строкой текста.Чтобы обработать соответствующий входящий режим редактирования UITableView, я проверяю self.editing в моих перезаписанных -layoutSubviews и корректирую размеры соответственно.Это позволяет отследить все изменения в макете, которые могут возникнуть из-за ручки удаления влево и / или появления кнопки удаления справа.

Однако: иногда дополнительные виджеты в режиме редактирования вызывают текст вмногострочный ярлык для переноса таким образом, что добавляется новая строка.Когда я решил адаптировать -heightForTableRowAtIndexPath: для вычисления высоты другим способом, когда активен режим редактирования, я заметил, что -heightForTableRowAtIndexPath: вообще не вызывается, когда изменяется режим редактирования tableView.Заглядывая дальше в UITableViewDelegate, я нашел только методы, обрабатывающие редактирование отдельных строк.Но я ищу способ уведомления, когда UITableView в целом перешел или вышел из режима редактирования, поэтому я могу вызвать -setNeedsLayout, чтобы таблица снова запрашивала высоты отдельных ячеек.

1 Ответ

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

Вы можете переопределить метод -setEditing:animated и выполнить там любые необходимые настройки.

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