为什么我的背景颜色不能在swift中改变?
问题描述:
我想以编程方式更改我的视图的背景颜色,因为稍后我将不得不根据用户输入切换颜色。我不知道为什么这不会改变背景颜色。为什么我的背景颜色不能在swift中改变?
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.
}
答
第一个错误:您必须在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)
这段代码的工作,但这里是你的代码,改变颜色? – wj2061
我还没有创建它。此代码并未改变我的背景色 – RBnoob
尝试在模拟器上运行 – wj2061