无法更改视图背景颜色
问题描述:
我有这个基类BaseController
,我改变视图背景颜色无法更改视图背景颜色
self.view.backgroundColor =
UIColor(red: 0/255, green: 255/255, blue: 0/255, alpha: 0)
在viewDidLoad()
方法
import UIKit
class BaseController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
self.view.backgroundColor = UIColor(red: 0/255, green: 255/255, blue: 0/255, alpha: 0)
}
func UIColorFromHex(rgbValue:UInt32, alpha:Double=1.0)->UIColor {
let red = CGFloat((rgbValue & 0xFF0000) >> 16)/256.0
let green = CGFloat((rgbValue & 0xFF00) >> 8)/256.0
let blue = CGFloat(rgbValue & 0xFF)/256.0
return UIColor(red:red, green:green, blue:blue, alpha:CGFloat(alpha))
}
}
这里是MainController
延伸BaseController
,是我的入口点
import UIKit
class MainController: BaseController {
override func viewDidLoad() {
super.viewDidLoad()
self.view.backgroundColor = UIColor(red: 0/255, green: 37/255, blue: 0/255, alpha: 0)
}
}
但是,除非在公用程序窗格中手动选择颜色,否则MainController
视图的背景颜色不会更改。
如何使用父类动态更改背景颜色?
答
你的阿尔法值同时的backgroundColor分配设置为0,这将会使颜色完全清楚
实际上,你在'MainController'看到什么颜色的?它是“BaseController”的明亮的绿色还是其他一些默认颜色(是白色还是黑色)? – rmaddy
@rmaddy我将默认颜色设置为无颜色(在实用程序窗格中带有红色条纹),并且我看到动态应用的颜色(在本例中为绿色)不会覆盖通过实用程序窗格设置的颜色,如果这是有道理的。 –
您将alpha设置为0. –