eku*_*erg 4 xcode animation image ios swift
我正在尝试实现这个很酷的功能,其中应用程序加载后的徽标稍微向上移动并显示登录视图.问题是当我使用这段代码时:
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
UIView.animateWithDuration(2, animations: {
var newCenter = self.logoImage.center
newCenter.y -= 100
self.logoImage.center = newCenter
}, completion: { finished in
println("Basket doors opened!")
})
}
Run Code Online (Sandbox Code Playgroud)
徽标从我想要移动到的地方移动到原点.因此,在此示例中,徽标已经显示为(y-100),然后移动到原点X,Y.
由于视图实际上并未布置在屏幕上,因此viewDidLoad()您不应该尝试在那里制作任何动画.相反,你应该等到视图完全呈现,这发生在viewDidAppear(animated: Bool).另外,我建议newCenter在动画调用之外计算var,然后简单地self.logoImage.center = newCenter在动画调用中进行设置.