UIView.animate(withDuration:animations:) - для базовых анимаций свойств UIView (position, alpha, transform). UIView.animate(withDuration:delay:options:animations:completion:) - с расширенными опциями (delay, curve, repeat). CAAnimation (Core Animation):
Каким способом можно запустить анимацию в iOS?
UIView.animate(withDuration:animations:) \- для базовых анимаций свойств UIView (position, alpha, transform).
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
-
UIView.animate(withDuration:animations:)- для базовых анимаций свойствUIView(position, alpha, transform). -
UIView.animate(withDuration:delay:options:animations:completion:)- с расширенными опциями (delay, curve, repeat). -
CAAnimation(Core Animation):CABasicAnimation- для анимации одного свойства (например,opacity,position.x).CAKeyframeAnimation- для анимации по ключевым кадрам или пути.CAAnimationGroup- для группировки нескольких анимаций.CATransition- для перехода между слоями.
-
UIResponderанимируемыми свойствами (например, вUIViewControllerчерезview.layoutIfNeeded()после изменения констрейнтов). -
UIDynamicAnimator(UIKit Dynamics) - для симуляции физического поведения (гравитация, столкновения). -
Lottie-iOS- сторонняя библиотека для воспроизведения After Effects анимаций.
Пример базовой UIView анимации:
UIView.animate(withDuration: 0.5) {
self.myView.alpha = 0.0
self.myView.frame.origin.y += 50
}
Пример CABasicAnimation:
let animation = CABasicAnimation(keyPath: "opacity")
animation.fromValue = 1.0
animation.toValue = 0.0
animation.duration = 0.5
myView.layer.add(animation, forKey: "fade")