У меня есть пользовательские ячейки UITableView, расположение которых изменяется в режиме редактирования. Я анимирую изменения макета, меняя ограничения авторазметки в методе setEditing
ячеек и анимируя их, вызывая layoutIfNeeded()
в блоке UIView.animate
(также в setEditing
). По большей части это работает гладко.
Но высота ячейки определяется с помощью UITableView.automaticDimension
(ячейки имеют разные размеры содержимого). Ограничения автопоставки, которые используются в режиме редактирования, определяют ячейку с меньшей высотой, чем в обычном режиме, но в режиме редактирования высота ячейки не изменяется. Вместо этого приоритет объятия по вертикали для представлений компонентов переопределяется, и представления расширяются, чтобы заполнить пространство.
Перезагрузка ячейки в режиме редактирования предотвращает анимацию, и я не вижу другого способа заставить tableView переоценить высоту ячейки.
Я также попытался использовать didTransition
, как описано в этом посте , но не смог увидеть никаких изменений макета.
Как я могу изменить (и анимировать изменение) высоты ячейки в режиме редактирования?