我有这个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()
}
}
。它可以工作,但要使所有按钮同时闪烁。
所以,我正在尝试找出一种方法来使它们按顺序闪烁,例如按钮 1、按钮 2、按钮 3 等,并且不确定我是否必须使用诸如完成处理程序或其他方法?请问谁能帮我解决这个问题?
你能试试
吗private func onInactivityDetected() {
for i buttonsOutlet.indices {
DispatchQueue.main.asyncAfter(deadline: .now() + 0.3 * Double(i) ) {
self.buttonsOutlet[i].flash()
}
}
}