我有这个UIButton扩展(我用它来设置我的按钮动画):
func pulsate() {
let pulse = CASpringAnimation(keyPath: "transform.scale")
pulse.duration = 0.3
pulse.fromValue = 0.95
pulse.toValue = 1.05
pulse.autoreverses = true
pulse.repeatCount = 3
pulse.initialVelocity = 0.5
pulse.damping = 1.0
layer.add(pulse, forKey: "pulse")
}
我正试图用这个函数来制作动画序列......:
private func onInactivityDetected() {
for i buttonsOutlet.indices {
buttonsOutlet[i].flash()
}
}
...并且它可以工作,但是为了使序列所有按钮在同一时间闪烁。
所以,我试图找出一种让它们按顺序闪烁的方法,比如button1,button2,button3等。我不确定我是否必须使用类似完成处理程序或其他方法的东西?有人可以帮帮我吗?
答案 0 :(得分:1)
你能试试吗
private func onInactivityDetected() {
for i buttonsOutlet.indices {
DispatchQueue.main.asyncAfter(deadline: .now() + 0.3 * Double(i) ) {
self.buttonsOutlet[i].flash()
}
}
}