我的观点与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运行应用时,一切都很好。有什么问题?
答案 0 :(得分:1)
这是因为在viewDidload
获得布局之前,您的UI
被调用了。所以,如果您想要任何与scaling
任何对象相关的动画,那么您应该使用viewDidAppear
代替viewDidload
。
现在,如果您只想在用户启动应用程序时想要动画一次,而不是当用户通过导航返回到第一个屏幕时,那么您应该设置一些flag
并且可以将其存储在某处以管理它。
因此,请尝试使用viewDidAppear
代替viewDidload
!
更新:
我做了一个类似于你的设置的演示,它也适用于viewDidload
。主要问题是viewdidload
运行它的持续时间非常短。
尝试更改 2.0
之后的持续时间,您会发现动画效果正好!
答案 1 :(得分:0)
可能只是设备的缓存正在加载以前的实现,尝试从您的设备中删除该应用程序并再次运行。