ios - 如何全局更改 UINavigationBar 颜色?

标签 ios swift uinavigationcontroller

我想从 AppDelegate 全局更改整个应用程序的 UINavigationBar 颜色。为此,我这样做:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject : AnyObject]?) -> Bool {
UINavigationBar.appearance().tintColor = UIColor(red: 63, green: 172, blue: 236, alpha: 1)
}

但是,我不知道为什么,它不会改变我的导航栏的颜色。

我已将导航栏连接为 Editor > Embed In > Navigation Controller

如何设置 NavBar 的颜色?

最佳答案

设置barTintColor

UINavigationBar.appearance().barTintColor = UIColor(red: 63.0/255.0, green: 172.0/255.0, blue: 236.0/255.0, alpha: 1.0)

我想你忘了除以 255

用于关闭半透明。在您的第一个根 Controller 中按如下方式执行。

override func viewDidLoad() {
    super.viewDidLoad()
    self.navigationController!.navigationBar.translucent = false
}

swift 3:

override func viewDidLoad() {
    super.viewDidLoad()
    self.navigationController!.navigationBar.isTranslucent = false
}

我的输出:

enter image description here

关于ios - 如何全局更改 UINavigationBar 颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30859230/

相关文章:

ios - 从 mapView 获取视口(viewport)坐标? regionDidChanged swift

objective-c - iOS 5 与 iOS 6 中的自动旋转问题

iOS 应用程序与 iPhone 4/4s/5 不兼容

swift - 如何删除 iOS 11 上 UISearchController 下的行?

ios - 重新排列 self.navigationController.viewControllers 中的 viewControllers 不起作用 obj c

ios - touchesEnded with addGesture

ios - 使用 NSURLSessionDownloadTask 时使用 resumeData 的正确方法是什么?

swift - 在 Swift 中将负 Double 格式化为货币

ios - UINavigationbar 所有类?

ios - 根据模式/大小写更改 navigationBar.title?