在Tabbar选择UIViewController后,UIView不会动画

时间:2017-12-10 22:59:09

标签: ios swift xcode uiview uitabbarcontroller

我有一个包含UIImageView loadingImg的UIViewController VC1。从上一个UIViewController VC0中截取时,它会动画化。以下是VC1中的一些代码:

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)

    animate()
}

func animate() {

    UIView.animate(withDuration: 1, delay: 0, options: [.repeat, .curveLinear], animations: {
        self.loadingImg.transform = CGAffineTransform(rotationAngle: .pi / 2)
    }, completion: nil)
}

我还有一个tabbar,其中VC0是一个根视图控制器。一旦VC0连接到VC1,当您单击另一个根视图控制器然后再返回时,loadingImg不再是动画。即使我使用tabbar切换到不同的视图控制器并返回,我怎样才能继续加载动画?

1 个答案:

答案 0 :(得分:1)

在ViewDidAppear中切换UIViewController时需要设置UIView的原始位置

override func viewDidAppear(_ animated: Bool) {
    super.viewDidAppear(animated)

    self.loadingImg.transform = .identity
    self.view.layoutIfNeeded()
}

enter image description here