Да, это ожидаемое поведение.Анимации остановятся, когда представление исчезнет, либо свернув приложение, либо показав другой контроллер вида.Переместите код анимации в viewDidAppear, и анимация не остановится, когда вы перейдете к любому другому viewcontroller и вернетесь.Для обработки случая, когда анимация останавливается, когда приложение переходит в фоновый режим, используйте следующий код:
Внутри вашего viewDidAppear,
NotificationCenter.default.addObserver(self, selector: #selector(willEnterForeground), name: .UIApplicationWillEnterForeground, object: nil)
и в вашем viewWillDisappear,
NotificationCenter.default.removeObserver(self, name: .UIApplicationWillEnterForeground, object: nil)
и напишите эту функцию в вашем viewcontroller,
@objc func willEnterForeground() {
// your animations
UIView.animate(withDuration: 1.0, delay: 0.4, options:[ UIViewAnimationOptions.curveEaseOut , .repeat], animations: {
self.logoLabel1.alpha = 0.0
self.logoLabel2.alpha = 0.0
}, completion: nil)
}