在导航栏中更改后退button的颜色
我试图改变设置button的颜色为白色,但不能让它改变。
我已经尝试了这两个:
navigationItem.leftBarButtonItem?.tintColor = UIColor.whiteColor() navigationItem.backBarButtonItem?.tintColor = UIColor.whiteColor()
但没有改变,它仍然是这样的:
我该如何让这个button变成白色?
这段代码改变了箭头的颜色
self.navigationController.navigationBar.tintColor = UIColor.whiteColor();
如果这不起作用,请使用下面的代码:
self.navigationBar.barStyle = UIBarStyle.Black self.navigationBar.tintColor = UIColor.whiteColor()
Swift 3笔记
UIColor.whiteColor()
等已经简化为UIColor.white
此外,许多以前隐含的可选项已被更改为显式,所以您可能需要:
self.navigationController?.navigationBar =
您可以通过单击电路板上的空白区域来更改故事板中的全局色调颜色,并在右侧工具栏中select“显示文件检查器”,然后在工具栏底部看到“全局色调”选项。
在故事板中非常容易设置:
你应该使用这个:
navigationController?.navigationBar.barTintColor = .purple navigationController?.navigationBar.tintColor = .white
你可以像这样使用。 把它放在AppDelegate.swift
。
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { // Override point for customization after application launch. UINavigationBar.appearance().translucent = false UINavigationBar.appearance().barTintColor = UIColor(rgba: "#2c8eb5") UINavigationBar.appearance().tintColor = UIColor.whiteColor() UINavigationBar.appearance().titleTextAttributes = [NSForegroundColorAttributeName:UIColor.whiteColor()] return true }
在Swift3中 ,将后退button设置为red
。
self.navigationController?.navigationBar.tintColor = UIColor.red
Swift 3
override func viewDidLoad() { super.viewDidLoad() self.navigationController?.navigationBar.tintColor = UIColor.white }
self.navigationController?.navigationBar.tintColor = UIColor.redColor()
这段代码实现了魔法。 将其更改为您的愿望,而不是redColor。
Swift 3
Swift 3最高的答案是不正确的。
正确的代码来改变颜色是:
self.navigationController?.navigationBar.tintColor = UIColor.white
如果要更改颜色,请将上面的UIColor.white更改为所需的颜色
在swift 2.0中使用
self.navigationController!.navigationBar.tintColor = UIColor.whiteColor();
将以下代码添加到AppDelegate.swift中的didFinishLaunchingWithOptions函数中
var navigationBarAppearace = UINavigationBar.appearance() navigationBarAppearace.tintColor = uicolorFromHex(0xffffff) // White color navigationBarAppearace.barTintColor = uicolorFromHex(0x034517) // Green shade // change navigation item title color navigationBarAppearace.titleTextAttributes =[NSForegroundColorAttributeName:UIColor.whiteColor()]
让我们试试这个代码:
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { // Override point for customization after application launch. let navigationBarAppearace = UINavigationBar.appearance() navigationBarAppearace.tintColor = UIColor.whiteColor() // Back buttons and such navigationBarAppearace.barTintColor = UIColor.purpleColor() // Bar's background color navigationBarAppearace.titleTextAttributes = [NSForegroundColorAttributeName:UIColor.whiteColor()] // Title's text color self.window?.backgroundColor = UIColor.whiteColor() return true }
在didFinishLaunchingWithOptions
中的AppDelegate
类中使用此代码。
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { UINavigationBar.appearance().tintColor = .white }
对于Swift 2.0,通过在AppDelegate.swift中使用以下内容来更改导航栏色调颜色 , 标题文本和后退button色调颜色
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { // Override point for customization after application launch. //Navigation bar tint color change UINavigationBar.appearance().barTintColor = UIColor(red: 42/255.0, green: 140/255.0, blue: 166/255.0, alpha: 0.5) //Back button tint color change UINavigationBar.appearance().barStyle = UIBarStyle.Default UINavigationBar.appearance().tintColor = UIColor(red: 204/255.0, green: 255/255.0, blue: 204/255.0, alpha: 1) //Navigation Menu font tint color change UINavigationBar.appearance().titleTextAttributes = [NSForegroundColorAttributeName: UIColor(red: 204/255.0, green: 255/255.0, blue: 204/255.0, alpha: 1), NSFontAttributeName: UIFont(name: "OpenSans-Bold", size: 25)!]//UIColor(red: 42/255.0, green: 140/255.0, blue: 166/255.0, alpha: 1.0) UIApplication.sharedApplication().statusBarStyle = UIStatusBarStyle.LightContent return true }
self.navigationController.navigationBar.tintColor = [UIColor whiteColor];
这适用于我,iOS 9.0以上
如果你已经在你的“设置”视图控制器中有后退button,并且想要将“付款信息”视图控制器上的后退button颜色更改为其他内容,那么可以在“设置”视图控制器的准备阶段中这样做。 :
override func prepare(for segue: UIStoryboardSegue, sender: Any?) { if segue.identifier == "YourPaymentInformationSegue" { //Make the back button for "Payment Information" gray: self.navigationItem.backBarButtonItem?.tintColor = UIColor.gray } }
你有一个select隐藏你的后退button,并与你自己。 然后设置它的颜色。
我这样做了:
self.navigationItem.setHidesBackButton(true, animated: true) let backbtn = UIBarButtonItem(title: "Back", style:UIBarButtonItemStyle.Plain, target: self, action: "backTapped:") self.navigationItem.leftBarButtonItem = backbtn self.navigationItem.leftBarButtonItem?.tintColor = UIColor.grayColor()
不知道为什么没有人提到这个…但我正在做我正在做的viewDidLoad
…,它不工作。 然后我把我的代码放到viewWillAppear
,这一切工作。
上面的解决scheme是更改一个barbuttonItem。 如果您想要更改代码中每个导航栏的颜色,请按照此答案 。
使用appearance()
基本上改变到类本身就像在你的应用程序的所有视图的实例上进行全局更改。 更多详情请看这里