2017-10-10 180 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,這將會使顏色完全清楚