【问题标题】:iOS:navigationBar's title default fontiOS:navigationBar 的标题默认字体
【发布时间】:2016-10-24 03:06:56
【问题描述】:

一个简单的问题,我怎么知道navigationBar's标题默认字体? 它的默认尺寸是多大?

>编辑

通过下面的答案:

UIFont *font = self.navigationController.navigationBar.titleTextAttributes[NSFontAttributeName];
NSLog(@"font_sys%@", font); 

结果是nil

在 lldb 中:

(lldb) po self.navigationController.navigationBar.titleTextAttributes
0x0000000000000000

【问题讨论】:

    标签: ios fonts uinavigationbar


    【解决方案1】:

    在斯威夫特中:

    UINavigationBar.appearance().titleTextAttributes = [NSFontAttributeName: UIFont(name: "font-name", size: 30)!]
    

    对于默认尺寸,去掉这条指令并在调试导航栏字体大小时打印(因为你没有改变它是默认的)

    【讨论】:

    • debug中如何打印?
    • 在可以看到导航栏的地方停止使用断点。然后,在日志窗口中,在“po”之后编写你想要的代码 -> po UINavigationBar.appearance().titleTextAttributes 例如
    • 它为我打印 null。
    【解决方案2】:

    获取默认字体大小和名称尝试使用:

    UIFont *font = self.navigationController.navigationBar.titleTextAttributes[NSFontAttributeName];
    

    要更改字体,您可以使用:

    [[UINavigationBar appearance] setTitleTextAttributes:@{NSFontAttributeName:[UIFont fontWithName:YOUR_FONT_NAME size:18], NSForegroundColorAttributeName:YOUR_COLOR}];
    

    你可以添加相同的任何其他属性

    希望有帮助

    【讨论】:

    • 问题是如何获取default字体。
    【解决方案3】:

    假设使用故事板,转到导航控制器并选择导航栏。检查那里的属性检查器,您可以看到字体并更改大小和字体。检查下面的附件图片。

    对于您可以使用的编程方式,

    UINavigationBar.appearance().titleTextAttributes = [NSFontAttributeName: UIFont(name: "SFUI-Bold", size: 17)!]
    

    【讨论】:

    • 我在检查属性检查器时看不到字体。
    • 我猜@iSashok 已经给出了获得默认字体的答案。
    • 如果我没有设置标题文本属性,那么UINavigationBar.appearance().titleTextAttributes 总是为我返回 nil。
    猜你喜欢
    • 2019-05-16
    • 1970-01-01
    • 1970-01-01
    • 2013-06-23
    • 2011-02-27
    • 2012-05-09
    • 2011-11-09
    • 2021-04-30
    • 2021-09-23
    相关资源
    最近更新 更多