[英]Application crashes when not running from Xcode but works fine when run from 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.