UIView.animatewithDuration 按钮激活时不显示动画
UIView.animatewithDuration not animating when activated by button
所以我有一堆箭头,我在 viewDidLoad() 函数中转换一次,如下所示:
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
UIView.animateWithDuration(2.0) {
self.Arrow1.transform = CGAffineTransformMakeTranslation(-20, 0)
self.Arrow1.transform = CGAffineTransformRotate(self.Arrow1.transform, -66.0 * CGFloat(M_PI)/180.0)
self.Arrow2.transform = CGAffineTransformMakeTranslation(-9, -8)
self.Arrow2.transform = CGAffineTransformRotate(self.Arrow2.transform, -70.0 * CGFloat(M_PI)/180.0)
// And So On...
}
}
但后来我尝试按一下按钮移动它们:
@IBAction func searchPressed(sender: AnyObject) {
UIView.animateWithDuration(5.0) {
self.Arrow1.transform = CGAffineTransformTranslate(self.Arrow1.transform, -100, 0)
self.Arrow2.transform = CGAffineTransformTranslate(self.Arrow2.transform, 0, 100)
//And So on... (They're 9 Arrows)
}
}
但是它没有动画,或者我认为它有,但真的很奇怪。它立即移动很多,然后从那里开始动画。我不明白为什么或如何解决它。 Here is what happens
同时将 self.view.layoutIfNeeded 放在块内。
对于陷入同样困境的未来旅行者:如果视图也是使用自动布局的视图的子视图,则您必须使用自动布局来控制视图。否则你会得到我得到的奇怪结果。
Here 是关于如何做到这一点的优秀指南。
所以我有一堆箭头,我在 viewDidLoad() 函数中转换一次,如下所示:
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
UIView.animateWithDuration(2.0) {
self.Arrow1.transform = CGAffineTransformMakeTranslation(-20, 0)
self.Arrow1.transform = CGAffineTransformRotate(self.Arrow1.transform, -66.0 * CGFloat(M_PI)/180.0)
self.Arrow2.transform = CGAffineTransformMakeTranslation(-9, -8)
self.Arrow2.transform = CGAffineTransformRotate(self.Arrow2.transform, -70.0 * CGFloat(M_PI)/180.0)
// And So On...
}
}
但后来我尝试按一下按钮移动它们:
@IBAction func searchPressed(sender: AnyObject) {
UIView.animateWithDuration(5.0) {
self.Arrow1.transform = CGAffineTransformTranslate(self.Arrow1.transform, -100, 0)
self.Arrow2.transform = CGAffineTransformTranslate(self.Arrow2.transform, 0, 100)
//And So on... (They're 9 Arrows)
}
}
但是它没有动画,或者我认为它有,但真的很奇怪。它立即移动很多,然后从那里开始动画。我不明白为什么或如何解决它。 Here is what happens
同时将 self.view.layoutIfNeeded 放在块内。
对于陷入同样困境的未来旅行者:如果视图也是使用自动布局的视图的子视图,则您必须使用自动布局来控制视图。否则你会得到我得到的奇怪结果。
Here 是关于如何做到这一点的优秀指南。