【发布时间】:2015-07-24 02:21:21
【问题描述】:
我正在 Swift 中创建一个不使用 AutoLayout 的 iPad 应用程序。我的viewDidLoad方法是空的,我把我的动画代码放在了我的IBAction里面,如下图:
@IBAction func nextStep(sender: AnyObject) {
UIView.animateWithDuration(1, animations: { () -> Void in
self.comparisonLabel.center = CGPointMake(self.comparisonLabel.center.x - 400, self.comparisonLabel.center.y)
})
comparisonLabel.text = "Speed Reading"
comparisonLabel.center = CGPointMake(comparisonLabel.center.x + 800, comparisonLabel.center.y)
UIView.animateWithDuration(1, animations: { () -> Void in
self.comparisonLabel.center = CGPointMake(self.comparisonLabel.center.x - 400, self.comparisonLabel.center.y)
})
}
第一个 UIView 附件不会为标签设置动画。相反,它只是立即从屏幕上删除标签。出于某种原因,第二个 UIView 完全按照它应该的方式工作,从屏幕右侧逐渐滑动标签。 (我没有使用 viewDidAppear 函数,因为我只需要在用户单击按钮时发生动画。)
有谁知道为什么会发生这种情况,以及如何使第一个 UIView 动画与第二个相同?
提前感谢所有回复的人。
【问题讨论】:
标签: ios swift animation uiview ibaction