繁体   English   中英

应用程序启动动画仅在从Xcode运行时有效

[英]application launch animation works only when running from Xcode

我有一个类似LaunchScreen.storyboard的视图,并且正在使用viewDidLoad此代码在运行时缩放它:

    UIView.animate(withDuration: 0.4, animations: {
        self.aftab_logo.transform = CGAffineTransform(scaleX: 0.6, y: 0.6)
        self.aftab_logo.alpha = 0
        self.login_content.alpha=1
        }, completion: { _ in
            self.aftab_logo.removeFromSuperview()
    })

当我关闭应用程序并从设备再次运行时,此动画不会显示,但是当我从Xcode运行应用程序时,一切都很好。 问题是什么?

这是因为在UI获取布局之前,将调用viewDidload 因此,如果您希望与任何动画相关联并scaling任何对象,则应使用viewDidAppear而不是viewDidload

现在,如果您只想在用户启动应用程序时一次动画,而不是在用户回到第一个屏幕后浏览时,那么您应该设置一些flag并将其值存储在某个位置以进行管理。

因此,尝试用viewDidAppear代替viewDidload

更新:

我做了一个演示,类似您的设置,它在viewDidload也能正常工作。 主要问题是您的持续时间非常短, viewdidload才能运行它。

一旦尝试将持续时间更改为2.0 ,您就会发现动画效果完美!

可能只是加载了先前实现的设备缓存,请尝试从设备中删除该应用程序,然后再次运行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM