Swift 中的 UIButton 动画序列



我有这个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()
}
}
}

最新更新