更改按钮标题和颜色时如何防止滞后?

时间:2016-06-18 23:31:13

标签: ios xcode swift

我试图每秒按一次按钮更改标题和颜色,但有滞后。会发生什么事情,当它从让我们说黄色变为红色时,按钮会显示R ..或者只是......一瞬间。每次按钮更改时都不会发生这种情况,只会发生几次。这是我的代码。

@IBOutlet var tapButton: UIButton!

var color:[UIColor] = [UIColor.redColor(), UIColor.blueColor(), UIColor.yellowColor(), UIColor.greenColor()]

var colorName:[String] = ["RED", "BLUE", "YELLOW", "GREEN"]

func game(){
    timer = NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, selector: #selector(SecondViewController.subtractTime), userInfo: nil, repeats: true)
}

func subtractTime(){
    seconds -= 1

    let num1 = Int(arc4random_uniform(4))
    let num2 = Int(arc4random_uniform(4))

    tapButton.titleLabel?.textColor = color[num1]
    tapButton.setTitle(colorName[num2], forState: UIControlState.Normal)
}

override func viewDidLoad() {
    super.viewDidLoad()

    // Do any additional setup after loading the view.

    game()
}

1 个答案:

答案 0 :(得分:0)

我已将segues更改为Show Details,这似乎解决了我的问题。当我更改视图控制器时,我也会停止计时器。

我不再遇到我之前遇到的延迟。