Изменение высоты UITableViewCell для режима редактирования - PullRequest
0 голосов
/ 04 июля 2019

У меня есть пользовательские ячейки UITableView, расположение которых изменяется в режиме редактирования. Я анимирую изменения макета, меняя ограничения авторазметки в методе setEditing ячеек и анимируя их, вызывая layoutIfNeeded() в блоке UIView.animate (также в setEditing). По большей части это работает гладко.

Но высота ячейки определяется с помощью UITableView.automaticDimension (ячейки имеют разные размеры содержимого). Ограничения автопоставки, которые используются в режиме редактирования, определяют ячейку с меньшей высотой, чем в обычном режиме, но в режиме редактирования высота ячейки не изменяется. Вместо этого приоритет объятия по вертикали для представлений компонентов переопределяется, и представления расширяются, чтобы заполнить пространство.

Перезагрузка ячейки в режиме редактирования предотвращает анимацию, и я не вижу другого способа заставить tableView переоценить высоту ячейки. Я также попытался использовать didTransition, как описано в этом посте , но не смог увидеть никаких изменений макета.

Как я могу изменить (и анимировать изменение) высоты ячейки в режиме редактирования?

...