Анимируют свойства layer/UIView в transaction; вызывают layoutIfNeeded внутри animate; избегают конфликта Auto Layout и ручного frame.
Разбор
- UIViewPropertyAnimator удобен для интерактива.
- CATransaction completion закрывает цепочку.
- Constraints анимируют только вместе с layoutIfNeeded.
- При жестах согласуют model и presentation layer.
Итог
Анимация и Auto Layout согласуются через layoutIfNeeded в аниматоре.