所以我有一堆箭头,我在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
答案 0 :(得分:0)
另外,在块内部使用self.view.layoutIfNeeded。
答案 1 :(得分:0)
对于陷入困境的未来旅行者:如果他们使用自动布局查看视图的子视图,则必须使用自动布局来控制您的视图。否则你会得到我得到的奇怪结果。
Here是如何做到这一点的绝佳指南。