2017-10-10 101 views
0

我有这个基类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视图的背景颜色不会更改。

如何使用父类动态更改背景颜色?

+0

实际上,你在'MainController'看到什么颜色的?它是“BaseController”的明亮的绿色还是其他一些默认颜色(是白色还是黑色)? – rmaddy

+0

@rmaddy我将默认颜色设置为无颜色(在实用程序窗格中带有红色条纹),并且我看到动态应用的颜色(在本例中为绿色)不会覆盖通过实用程序窗格设置的颜色,如果这是有道理的。 –

+2

您将alpha设置为0. –

回答

1

你的阿尔法值同时的backgroundColor分配设置为0,这将会使颜色完全清楚