寻求帮助.view.backgroundColor



我是swift编程的新手,在解决这个项目时遇到了麻烦。我需要使按钮背景改变颜色,每次它被点击,我已经设法解决它,如果它只有两种颜色,但不多于。任何帮助都是感激的。这是我用两种颜色想出来的。

import UIKit
class ViewController: UIViewController {
var lightOn = true

override func viewDidLoad() {
super.viewDidLoad()
updateUI()
}

@IBAction func buttonPressed(_ sender: Any) {
lightOn.toggle()
updateUI()
}
func updateUI() {
if lightOn {
view.backgroundColor = .orange
} else {
view.backgroundColor = .yellow
}
}
}

你已经完成了一半-你有一个按钮点击执行updateUI。事实上,你甚至不需要一个叫做lightOn的变量。代替if语句,尝试switch:

switch view.backgroundColor {
case UIColor.orange:
view.backgroundColor = .red
case UIColor.red:
view.backgroundColor = .green
case UIColor.green:
view.backgroundColor = .blue
default:
break
}

将从橙色到红色再到蓝色循环。根据需要添加颜色。注意事项:

  • 除非您在enum中定义颜色,否则如果没有此default,您将获得编译器错误。如果你确实定义了你想要的颜色,那么你所需要做的就是完全将每个定义的颜色放在switch语句中。这真的是很好的代码——因为现在没有它你将无法构建。

  • 要注意将视图颜色初始化为switch语句中特定定义的东西。

  • 现在,如果你需要从…说(1)红色到绿色回到(2)红色到蓝色回到(3)红色到橙色……基本上,从&;off&;";知道;在"知道;使用lightOn将这个switch语句移到你发布的if语句的旁边,设置它像你一样。

最新更新