如何改变导航栏的颜色?

时间:2015-11-07 16:16:17

标签: swift uinavigationcontroller

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

3 个答案:

答案 0 :(得分: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

导航栏中的tittle颜色。

    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%透明度。

如果您有任何问题,请发表评论。

答案 1 :(得分:5)

使用代码:

navigationBar.barTintColor = UIColor.whiteColor()

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

enter image description here

答案 2 :(得分:0)

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

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