我正在尝试以编程方式更改我的视图的背景颜色,因为稍后我将根据用户输入切换颜色。我不知道为什么这不会改变背景颜色。
class MainViewController: UIViewController {
@IBOutlet weak var rLabel: UILabel!
@IBOutlet weak var gLabel: UILabel!
@IBOutlet weak var bLabel: UILabel!
@IBOutlet weak var largeColorView: UIView!
override func viewDidLoad() {
super.viewDidLoad()
func colorWithAlphaComponent(alpha: CGFloat) -> UIColor{
let newColor = UIColor.init(red: 0.5, green: 0.8, blue: 1.0, alpha: alpha)
return newColor
}
print(largeColorView.backgroundColor)
print(colorWithAlphaComponent(1.0))
largeColorView.backgroundColor! = colorWithAlphaComponent(1.0)
print(largeColorView.backgroundColor)
// Do any additional setup after loading the view.
}
答案 0 :(得分:1)
第一个错误:您必须在viewDidLoad()方法之外实现该函数,但是您需要调用它。 因此,您的代码应该是这样的:
override func viewDidLoad() {
super.viewDidLoad()
print(largeColorView.backgroundColor)
print(colorWithAlphaComponent(1.0))
largeColorView.backgroundColor! = colorWithAlphaComponent(1.0)
print(largeColorView.backgroundColor)
}
func colorWithAlphaComponent(alpha: CGFloat) -> UIColor{
let newColor = UIColor.init(red: 0.5, green: 0.8, blue: 1.0, alpha: alpha)
return newColor
}
因此,这行代码将运行,因为它调用函数
largeColorView.backgroundColor! = colorWithAlphaComponent(1.0)