在我的故事板中,我有一个按钮,我想无限次地闪烁它,直到程序死掉。这是我迄今为止所做的,这段代码使按钮只动画一次。

@IBOutlet weak var blinker: UIButton!

 func Blink(){
        blinker.alpha = 0.0
        UIButton.animateWithDuration(1, animations: {
            self.blinker.alpha = 1.0
            }, completion: {
                (value: Bool) in
                println(">>> Animation done.")
        })

    }

任何帮助都将不胜感激…

最佳答案

如果您不打算使用CABasicAnimationCAAnimation的其他变体,最好的方法是递归地使用它。例如:

func Blink(){
        blinker.alpha = 0.0
        UIButton.animateWithDuration(1, animations: {
            self.blinker.alpha = 1.0
            }, completion: {
                (value: Bool) in
                println(">>> Animation done.")
                Blink()
        })

    }

这样当动画完成时,你会一次又一次地调用它…
更新
请参阅Glenn's answer了解正确的处理方法。此解决方案可能导致堆栈溢出问题。

关于swift - 如何连续闪烁对象直到应用被杀死?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32733117/

10-11 08:58