如何改变导航栏的颜色?

问题描述 投票:4回答:3

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

swift uinavigationcontroller
3个回答
6
投票

这是其中一种方式。进入课堂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%透明度。

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


5
投票

使用代码:

navigationBar.barTintColor = UIColor.whiteColor()

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

enter image description here


0
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.