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

标签 ios uiview 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)
        }

但是此代码使ui View 闪烁了无数次。我使用了另一个代码,但仅闪烁了一次。

我想要的:

So I am pretty close but I really want to blink the UIView for finite number of times i.e 30 times, and it must stop after 30th blink.



请对此提供帮助,我想我的问题很清楚。请帮帮我。

最佳答案

使用此功能可以为“ View ”制作动画。希望对您有所帮助

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)
       }
 }

关于iOS在UIView上闪烁动画的次数有限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53171521/

相关文章:

iphone - 有没有办法将 iOS 应用程序转换为 Mac OS X 应用程序?

ios - Bittrex API 返回 APIKEY_NOT_PROVIDED

ios - 使用自动布局确定 UIView 的宽度 - SWIFT

ios - UIView 动画不动画

ios - performSegue 将下一个 View Controller 插入不需要的 View 层次结构

ios - 应用一段时间未使用后取消本地通知

ios - 如何在平移手势事件期间转换一条线?

ios - Swift 中的动态表 ImageView

ios - 移至自定义 UItableViewCell 中的下一个 UItextfield(具有多个部分的 Tableview)

swift - Xcode 9 RespondsToSelector 问题