iOS Swift动画 - 将图像移动到新位置
问题描述:
我试图实现这个很酷的功能,应用程序加载之后的徽标稍微向上移动,登录视图出现。问题是,当我使用此代码: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!")
})
}
标志移动到从我希望它移动到的地方的发源地。所以在这个例子中,logo已经出现(y-100),然后移动到原点X,Y。
答
由于视图实际上没有布置在viewDidLoad()
的屏幕上,所以您不应该试图在那里设置任何动画。相反,您应该等到视图完全呈现,这发生在viewDidAppear(animated: Bool)
。另外,我会建议在动画调用之外计算newCenter
var,然后在动画调用中简单设置self.logoImage.center = newCenter
。
试着把它放在viewDidAppear中。 – AdamPro13 2014-09-23 21:14:17