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

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

问题描述

我正在使用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设置为一个值,即由两个设置组成的字典:

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天全站免登陆