动画启动屏幕缩放

Animating launch screen zoom

1:

我正在尝试为 UIImageView 的缩放 out/size 变化设置动画。下面是我希望启动屏幕的外观,然后在加载后进入我的 HomeViewController

2:

因为(目前)我正在 HomeViewController 上制作动画,我知道这不是正确的做法,按钮我的 VC 在动画发生时立即出现

3:

最后,这几乎就是我想要的样子,但为了实现这一点,我放了一个 UIView 来覆盖按钮但不覆盖徽标,并将其设置为淡出动画 好像按钮正在淡入

那么在加载我的 HomeViewController 之前,我如何在启动屏幕上制作初始动画?我似乎无法将我的 UIImageView 添加到我的 AppDelegate.swift 上来制作动画,非常感谢!

代码:(在 HomeViewControllerviewDidLoad 中)

let orginalY = self.imageView.center.y
    UIView.animate(withDuration: 1.0, animations: {() -> Void in
        self.imageView?.transform = CGAffineTransform(scaleX: 0.5, y: 0.5)
        self.imageView.center.y = orginalY - 100
    }, completion: nil)

    UIView.animate(withDuration: 1.2) {
        self.hidingView.alpha = 0
    }

您不能在启动屏幕故事板上制作自定义动画。在显示 HomeViewController 之前,您必须使用 SplashViewController 并在动画的完成块中全屏显示 HomeViewController

您不能为 LaunchScreen 设置动画。大多数你看到动画的应用程序实际上都有一个中间 controller/screen。 Flow 应该是这样的。

  1. 启动屏幕(您不能在此处执行任何操作。OS 将设置您的应用程序)
  2. AnimationViewController(这是您进行一些初始设置和动画的地方)
  3. HomeViewController(应用程序的其余流程)。