更改所有导航栏中的标题文本颜色和字体 [英] Change Both Title Text Color and Font in all Navigation Bars

查看:22
本文介绍了更改所有导航栏中的标题文本颜色和字体的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用 swift 2 和最新版本的 Xcode,我正在尝试更改每个导航栏中标题文本的字体大小、名称和颜色.我在 didFinishLaunchingWithOptions 区域的 AppDelegate 部分中编写了以下代码,但它仅更改颜色,不影响字体的大小或类型.当我摆脱颜色线时,标题将跟随 NSFontAttributeName 线.有没有办法让两行代码都执行?我还没有找到任何可以让你在代码中同时更改的东西...

I am using swift 2 and the newest version of Xcode and I am trying to change the font size, name, and color of the Title Text in every Navigation Bar. I wrote the following code in my AppDelegate section in the didFinishLaunchingWithOptions area but it only changes the color, the size or type of font is not affected. When I get rid of the color line, then the title follows the NSFontAttributeName line. Is there a way to have both lines of code perform? I haven't found anything that allows you to change both in code...

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


        UIApplication.sharedApplication().statusBarStyle = .LightContent
        UINavigationBar.appearance().titleTextAttributes = [NSFontAttributeName: (UIFont(name: "AvenirNext-DemiBold", size: 50.0))!]
        UINavigationBar.appearance().titleTextAttributes = [NSForegroundColorAttributeName : UIColor(red: 244/255, green: 234/255, blue: 166/255, alpha: 1.0)]


        return true
    }

推荐答案

你的代码很傻.您设置了 titleTextAttributes,然后丢弃刚刚设置的值并替换另一个值!

Your code is silly. You set the titleTextAttributes and then you throw away the value you just set and replace it with another value!

UINavigationBar.appearance().titleTextAttributes = 
    [NSFontAttributeName: (UIFont(name: "AvenirNext-DemiBold", size: 50.0))!]
UINavigationBar.appearance().titleTextAttributes = 
    [NSForegroundColorAttributeName : UIColor(red: 244/255, green: 234/255, blue: 166/255, alpha: 1.0)]

如果您不想这样做,请将 titleTextAttributes 设置为仅 one 值,即由 both 设置组成的字典:

If that's not what you want to do, set the titleTextAttributes to just one value, i.e. a dictionary consisting of both settings:

UINavigationBar.appearance().titleTextAttributes = [
    NSFontAttributeName: (UIFont(name: "AvenirNext-DemiBold", size: 50.0))!,
    NSForegroundColorAttributeName : UIColor(red: 244/255, green: 234/255, blue: 166/255, alpha: 1.0)
]

这篇关于更改所有导航栏中的标题文本颜色和字体的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆