我在视图背景和导航栏上设置了相同的颜色。但是当我运行代码时,颜色是不同的。不知道发生了什么。有人可以帮帮我吗? :|
self.navigationController?.navigationBar.barTintColor = Utils.Color.bgColor
view.backgroundColor = Utils.Color.bgColor
// some trys to fix the problem...
self.navigationController?.navigationBar.shadowImage = UIImage()
self.navigationController?.navigationBar.isTranslucent = false
self.navigationController?.navigationBar.backgroundColor = Utils.Color.bgColor
self.navigationController?.navigationBar.isOpaque = false
答案 0 :(得分:0)
这是我使用的,注意基色是不同的,我更喜欢白色/黄色文字:
在AppDelegate中:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
UINavigationBar.appearance().barTintColor = UIColorFromRGB(0x112A0F) //my green
UINavigationBar.appearance().titleTextAttributes = [NSForegroundColorAttributeName: UIColor.white]
UINavigationBar.appearance().tintColor = UIColor.yellow
UINavigationBar.appearance().isTranslucent = false
return true
}
有些地方可以访问(对我来说这是一个框架,因为我在其他地方使用它:
public func UIColorFromRGB(_ rgbValue: UInt) -> UIColor {
return UIColor(
red: CGFloat((rgbValue & 0xFF0000) >> 16) / 255.0,
green: CGFloat((rgbValue & 0x00FF00) >> 8) / 255.0,
blue: CGFloat(rgbValue & 0x0000FF) / 255.0,
alpha: CGFloat(1.0)
)
}
是的,您可以在UIColorFromRGB
中使用AppDelegate
。我看到的最大区别是你包括'isOpaque
。首先尝试删除它。