2017-10-16 84 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,它应该不会影响整个项目。

干杯。