【问题标题】:UIView won't animate after Tabbar selects UIViewControllerTabbar 选择 UIViewController 后 UIView 不会动画
【发布时间】:2018-05-24 11:20:22
【问题描述】:

我有一个 UIViewController VC1,它包含一个 UIImageView loadingImg。当您从以前的 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)
}

我还有一个标签栏,其中 VC0 是根视图控制器之一。一旦 VC0 连接到 VC1,当您单击另一个根视图控制器然后返回时,loadingImg 不再具有动画效果。即使我使用 tabbar 切换到不同的视图控制器并返回,如何保持 loadingImg 动画?

【问题讨论】:

  • 这两种方法都试过了,都不管用。

标签: ios swift xcode uiview uitabbarcontroller


【解决方案1】:

在 ViewDidAppear 中切换 UIViewController 时需要设置 UIView 的原始位置,如下所示

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-02-26
    • 2019-05-15
    • 1970-01-01
    • 2013-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多