Junior — Middle
Quais métodos existem para terminar ou suspender o processo de animação?
sobes.tech IA
Resposta da IA
Para terminar ou pausar animações no iOS, podem ser usadas várias abordagens:
-
Terminar a animação:
- Em animações UIView, pode usar o método
layer.removeAllAnimations()para parar todas as animações do camada. - Em
UIViewPropertyAnimator, existem os métodosstopAnimation(_:)efinishAnimation(at:), que permitem pausar e terminar a animação respetivamente.
- Em animações UIView, pode usar o método
-
Pausar a animação:
- Para Core Animation, pode alterar a propriedade
layer.speedpara 0 para pausar a animação, e devolvê-la a 1 para retomar. - Em
UIViewPropertyAnimator, o métodopauseAnimation()pausa a animação.
- Para Core Animation, pode alterar a propriedade
Exemplo de pausa e retoma de animação usando UIViewPropertyAnimator:
let animator = UIViewPropertyAnimator(duration: 2.0, curve: .easeInOut) {
view.alpha = 0
}
animator.startAnimation()
// Pausar
animator.pauseAnimation()
// Retomar
animator.startAnimation()
Assim, a escolha do método depende da API utilizada e dos requisitos de controlo da animação.