2017-10-16 83 views
0

我有以下子類:UINavigationBar的:設置顏色的子類

class GeneralNavigationBar: UINavigationBar { 
    override func layoutSubviews() { 
     super.layoutSubviews() 
     self.barTintColor = UIColor(rgb: 0x2A5298) //Extension that converts hex to color 
     self.tintColor = UIColor.white 
    } 
} 

我想在酒吧的標題是白色的。當我將這個類應用於故事板中的導航欄時,背景會變爲藍色(十六進制,如他應該那樣),但標題仍爲黑色。

很奇怪,因爲你可以改變在視圖控制器的酒吧出現在顏色:

self.navigationController?.navigationBar.barTintColor = UIColor(red: 204/255, green: 47/255, blue: 40/255, alpha: 1.0) 
self.navigationController?.navigationBar.tintColor = UIColor.whiteColor() 

這工作。

回答

0

嘗試外觀,怎麼看..

var navbarappearace = UINavigationBar.appearance() 
navbarappearace.barTintColor = UIColor(red: 204/255, green: 47/255, blue: 40/255, alpha: 1.0) 
navbarappearace.titleTextAttributes = [NSForegroundColorAttributeName: UIColor.whiteColor()] 

把上面的代碼中的AppDelegate,它應該不會影響整個項目。

乾杯。