【问题标题】:Make label text "blink" or "flash" on separate button press in Swift 3在 Swift 3 中按下单独的按钮时使标签文本“闪烁”或“闪烁”
【发布时间】:2017-05-24 00:27:28
【问题描述】:

给定一个带有屏幕文本标签和按钮的应用。每次按下按钮,文本都会改变。我希望能够按下按钮,并且在更改文本时文本会“闪烁”,以使文本更改对用户更明显。

给定以下变量:

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

我尝试过 SKAction、淡入/淡出,但所有教程/帮助都在旧版本的 Swift 中,不适合我。

【问题讨论】:

标签: ios swift button text blink


【解决方案1】:

正如我已经在这里发布的:https://stackoverflow.com/a/46493987/1836369

你可以像这样扩展 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() 

让你的标签闪烁

【讨论】:

    【解决方案2】:

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

    输出:-

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-01-30
      • 1970-01-01
      • 2015-05-15
      • 2017-07-02
      • 1970-01-01
      • 2012-04-13
      • 1970-01-01
      相关资源
      最近更新 更多