导航栏后退按钮文本颜色恢复为默认值

时间:2014-10-19 00:31:17

标签: ios xcode swift uinavigationbar uifont

我的应用程序中有一些代码可能会改变导航栏字体的颜色。问题是,虽然我一直在开发代码,但我一直在添加代码来执行此操作,但我还没有检查以查看实际需要的部分。我想知道这是否导致了我一直存在的问题。

基本上,偶尔(我还没弄清楚原因是什么)当我打开应用程序时,后退按钮文本的颜色会恢复为默认的蓝色。

这是我的代码:

override func awakeFromNib() {
    var attributes = [NSForegroundColorAttributeName: UIColor.whiteColor(),NSFontAttributeName: UIFont(name: "Avenir", size: 24)]
    self.navigationController?.navigationBar.titleTextAttributes = attributes

    let appearanceTab = UITabBarItem.appearance()
    let appearanceNav = UINavigationBar.appearance()

    let attributesTabBar = [NSFontAttributeName:UIFont(name: "Avenir", size: 11)]
    appearanceTab.setTitleTextAttributes(attributesTabBar, forState: .Normal)

    appearanceNav.titleTextAttributes = [NSFontAttributeName:UIFont(name: "Avenir", size: 25)]
}

override func viewDidLoad() {
    super.viewDidLoad()

    self.navigationController?.navigationBar.barTintColor = UIColorFromRGB(0x009051)
    UINavigationBar.appearance().barTintColor = UIColorFromRGB(0x009051)
    UINavigationBar.appearance().tintColor = UIColor.whiteColor()
    UITabBar.appearance().tintColor = UIColor.newBlueColor()
}

我已尝试删除代码的不同部分,但我无法确定问题。有什么想法吗?

2 个答案:

答案 0 :(得分:1)

将以下代码添加到 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()]

答案 1 :(得分:0)

我曾经给别人一个解决方案,我保存了代码。用这种方式玩它。

var attributes = [NSForegroundColorAttributeName: UIColor.greenColor(),NSFontAttributeName: UIFont(name: "Avenir", size: 30)]
        self.navigationController?.navigationBar.titleTextAttributes = attributes
相关问题