我正在尝试使用按钮更改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
知道为什么吗?
答案 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中)。