UIView анимация завершена мгновенно - PullRequest
0 голосов
/ 20 марта 2020

Итак, я работал над личным проектом, где я хотел применить все, что узнал, но столкнулся с этой проблемой.

Я упростил эту проблему в этом простом приложении.

import UIKit

class ViewController: UIViewController {

override func viewDidLoad() {
    super.viewDidLoad()

}

@IBAction func button(_ sender: UIButton) {
    let nextVC = storyboard?.instantiateViewController(withIdentifier: "nextVC") as! SecondViewController
    nextVC.modalPresentationStyle = .fullScreen
    present(nextVC, animated: true)
}

}

Однако, когда я меняю вид с помощью кнопки, упомянутой выше, я настраиваю его на анимацию при загрузке, но когда это происходит, он автоматически находится на финальной стадии анимации

import UIKit

class SecondViewController: UIViewController {

@IBOutlet weak var loadingImageView: UIImageView!
override func viewDidLoad() {
    super.viewDidLoad()

    UIView.animate(withDuration: 10, animations: {
                   self.loadingImageView.transform = CGAffineTransform(translationX: 0, y: 400)
               }) { (_) in
                   print("Animation has been done")
           }
}
}

Любой совет будет оценен. :)

1 Ответ

0 голосов
/ 21 марта 2020

, если перемещение анимации в viewWillAppear или viewDidAppear, как предложено @imike, не работает, попробуйте использовать переход на «loadingImageView» вместо «animate»

 UIView.transition(with: self.loadingImageView,
                     duration: 10,
                     options: [. curveEaseInOut],
                     animations: {

                       self.loadingImageView.transform = CGAffineTransform(translationX: 0, y: 400)
   },
                     completion: nil)
...