如何改变导航栏的颜色?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何改变导航栏的颜色?相关的知识,希望对你有一定的参考价值。

我放了一个导航栏,但我不知道如何更改它的颜色,我试图在Main.storyboard中做它但它不起作用,然后我试着用代码做但我不知道怎么做究竟。有人可以帮我怎么做吗?

答案

这是其中一种方式。进入课堂AppDelegate并在func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool中写下这些代码

Swift 3.0+更新

import UIKit

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

var window: UIWindow?

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
    // Override point for customization after application launch.

    UINavigationBar.appearance().barTintColor = UIColor.white   //1
    UINavigationBar.appearance().tintColor = UIColor.red   //2
    UINavigationBar.appearance().titleTextAttributes = [NSAttributedStringKey.foregroundColor: UIColor.red]   //3

    return true
}

这个是导航栏的背景颜色

    UINavigationBar.appearance().barTintColor = UIColor.white   //1

对于导航栏中项目的颜色

    UINavigationBar.appearance().tintColor = UIColor.red   //2

对于导航栏中的标题颜色。

    UINavigationBar.appearance().titleTextAttributes = [NSAttributedStringKey.foregroundColor: UIColor.red]   //3

如果你想要你可以改变你想要的颜色(自定义颜色),使用它(而不是.white.red或任何其他颜色)

   UIColor(red: 49/255, green: 75/255, blue: 108/255, alpha: 1.0) //Custom Color

这只是一个如何使用它的例子,我想你知道如何使用颜色,而alpha是透明度,所以alpha: 1.0是100%透明度。

如果您有任何问题,请在评论中提问。

另一答案

使用代码:

navigationBar.barTintColor = UIColor.whiteColor()

使用storyboard确保在Document Outline中选择Navigation Bar,然后在Utilities中显示Attributes Inspector(Xcode中的右侧窗口):

enter image description here

另一答案

对于目标c,我可以告诉:你需要使用你创建的UINavigationController对象的UINavigationBar的barTintColor使用类似的东西:

UINavigationController *nav = [..... [[nav navigationBar] setBarTintColor:[UIColor greyColor]];

以上是关于如何改变导航栏的颜色?的主要内容,如果未能解决你的问题,请参考以下文章

如何更改特定视图上导航栏的颜色

swift 改变导航栏的颜色

如何使用swift3增加导航栏的高度并更改xcode 8中状态栏的颜色?

iOS滑动tableView来改变导航栏的颜色-1

如何改变UIDocumentInteractionController完成按钮的文字和背景颜色

如何更改导航栏的默认背景颜色? [复制]