我有一个按钮的IBOutlet集合,我想按顺序逐个呈现在屏幕上。它们都很好地从屏幕外开始,但当它们动画进入时,我希望每个按钮在前一个按钮之后0.05秒呈现在屏幕上。我无法弄清如何在UIView.animateWithDuration中增加延迟。使用下面的代码,它们都同时在屏幕上进行动画。
//outlet collection
@IBOutlet var options: [UIButton]!
let increment = 0.25
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
for button in options {
button.center.y += view.bounds.height
}
}
override func viewDidLoad() {
super.viewDidLoad()
for button in options {
UIView.animateWithDuration(1.0, delay: increment, usingSpringWithDamping: 0.7, initialSpringVelocity: 0.0, options: nil, animations: {
button.center.y -= self.view.bounds.height
self.increment + 0.05
}, completion: nil)
}
}