在 Swift 中按单独的按钮制作标签文本 "blink" 或 "flash" 3

Make label text "blink" or "flash" on separate button press in Swift 3

给定一个带有屏幕文本标签和按钮的应用程序。每次按下按钮时,文本都会更改。我希望能够按下按钮,文本将在更改文本时 "blink",以使用户更清楚地看到文本更改。

给定以下变量:

@IBOutlet weak var text: UILabel!
@IBAction func buttons(_ sender: UIButton) {}

我试过 SKAction,fadein/fadeout 但所有 tutorials/help 都在 Swift 的旧版本中,对我不起作用。

Swift 3.0
UIView闪烁的方法之一是通过UIKit动画实现的。

@IBOutlet var label: UILabel!

var x = 0
let text = ["Vanakkam","Hello","Hi","Hola","Ni Hao","Oi","Namastae"]

@IBAction func buttonAction(_ sender: UIButton) {

    UIView.animate(withDuration: 0.2, animations: { 
        self.label.alpha = 0.0
        }) { (bool) in
            self.label.alpha = 1.0
            self.label.text = text[self.x]
            if self.x < text.count{
                self.x = self.x+1
            }else{
                self.x = 0
            }
    }
}

输出:-

正如我已经在这里发布的那样:

您可以像这样扩展 class UIView:

 extension UIView{
     func blink() {
         self.alpha = 0.2
         UIView.animate(withDuration: 1, delay: 0.0, options: [.curveLinear, .repeat, .autoreverse], animations: {self.alpha = 1.0}, completion: nil)
     }
}

这样你就可以简单地调用

text.blink() 

让你的标签闪烁