使按钮反转到原始状态

时间:2018-02-07 15:10:51

标签: ios swift

我正在尝试使用按钮更改ViewController的主题。我希望在黑色和白色背景之间互换。因此,如果我点击按钮,主题应该变为白色。如果我再次点击,主题应该再次变为黑色......依此类推。  我目前有这个:

@IBAction func themeBtn(_ sender: Any) {
        var doubleTap = false
        if (doubleTap) {
            //Second Tap
            self.view.backgroundColor = UIColor.black
            doubleTap = false
        } else {
            //First Tap
            self.view.backgroundColor = UIColor.white
            doubleTap = true
        }
    }

Xcode告诉我这些行永远不会被执行:

self.view.backgroundColor = UIColor.black
doubleTap = false

知道为什么吗?

2 个答案:

答案 0 :(得分:1)

doubleTap变量移到您的函数之外。

此外,通过使用三元运算符,您的代码可以更加清晰。

var doubleTap = false

@IBAction func themeBtn(_ sender: Any) {
    doubleTap = !doubleTap
    view.backgroundColor = doubleTap ? .white : .black
}

答案 1 :(得分:0)

因为你的doubleTap var总是假的。

您必须在函数外部初始化doubleTap var(例如在viewDidLoad中)。