有限次数的 UIView 上的 iOS 闪烁动画

Abd*_*Ali 6 uiview ios swift4 xcode9.4

我正在尝试在 UIView 上创建闪烁效果。目前我正在使用一个代码,它可以无限次地使 UIView 闪烁。代码看起来像这样

到目前为止我所做的:

 func startBlink() {
                  UIView.animate(withDuration: 0.8,//Time duration
                                delay:0.0,
                                options:[.allowUserInteraction, .curveEaseInOut, .autoreverse, .repeat],
                                animations: { self.alpha = 0 },
                                completion: nil)
        }
Run Code Online (Sandbox Code Playgroud)

但是此代码会无限次地使 ui 视图闪烁。我使用了另一个代码,但它只闪烁了一次。

我想要的是:

所以我非常接近,但我真的想将 UIView 闪烁有限的次数,即 30 次,并且它必须在第 30 次闪烁后停止。

请帮助我,我想我的问题很清楚。请帮帮我。

Mun*_*ali 10

使用此功能为视图设置动画。我希望它可以帮助

extension UIView {  
        func flash(numberOfFlashes: Float) {
           let flash = CABasicAnimation(keyPath: "opacity")
           flash.duration = 0.2
           flash.fromValue = 1
           flash.toValue = 0.1
           flash.timingFunction = CAMediaTimingFunction(name: CAMediaTimingFunctionName.easeInEaseOut)
           flash.autoreverses = true
           flash.repeatCount = numberOfFlashes
           layer.add(flash, forKey: nil)
       }
 }
Run Code Online (Sandbox Code Playgroud)