应用程序启动动画仅在从Xcode运行时才起作用

时间:2016-09-19 11:33:13

标签: ios swift 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运行应用时,一切都很好。有什么问题?

2 个答案:

答案 0 :(得分:1)

这是因为在viewDidload获得布局之前,您的UI被调用了。所以,如果您想要任何与scaling任何对象相关的动画,那么您应该使用viewDidAppear代替viewDidload

现在,如果您只想在用户启动应用程序时想要动画一次,而不是当用户通过导航返回到第一个屏幕时,那么您应该设置一些flag并且可以将其存储在某处以管理它。

因此,请尝试使用viewDidAppear代替viewDidload

更新:

我做了一个类似于你的设置的演示,它也适用于viewDidload。主要问题是viewdidload运行它的持续时间非常短。

尝试更改 2.0 之后的持续时间,您会发现动画效果正好!

答案 1 :(得分:0)

可能只是设备的缓存正在加载以前的实现,尝试从您的设备中删除该应用程序并再次运行。