我试图每秒按一次按钮更改标题和颜色,但有滞后。会发生什么事情,当它从让我们说黄色变为红色时,按钮会显示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()
}
答案 0 :(得分:0)
我已将segues更改为Show Details,这似乎解决了我的问题。当我更改视图控制器时,我也会停止计时器。
我不再遇到我之前遇到的延迟。