UINavigationBar 横向标题字体大小

Posted

技术标签:

【中文标题】UINavigationBar 横向标题字体大小【英文标题】:UINavigationBar title font size in landscape 【发布时间】:2012-12-04 02:00:02 【问题描述】:

我可以在横向模式下设置UINavigationBar 标题的字体大小吗?

我正在使用UIAppearance 代理来自定义标题文本属性,并且我对横向时的字体大小特别感兴趣。它是纵向字体,但当旋转为横向时,字体大小不会作为默认行为缩小。

[[UINavigationBar appearance] setTitleTextAttributes:[[NSDictionary alloc] initWithObjectsAndKeys:
                                           [UIFont fontWithName:@"Awesome-Bold" size:20], UITextAttributeFont,
                                           [UIColor colorWithWhite:0.0f alpha:0.2f], UITextAttributeTextShadowColor,
                                           [NSValue valueWithUIOffset:UIOffsetMake(0.0f, -1.0f)], UITextAttributeTextShadowOffset,
                                           [UIColor whiteColor], UITextAttributeTextColor,
                                           nil]];

不幸的是,我没有看到任何 barMetric: 属性与 setTitleAttributes: 一起使用。

谢谢。

【问题讨论】:

【参考方案1】:

所以在网上研究了一下I find out,字体大小必须设置为0,这样可以确保字体在横向和纵向时自动设置为适当的大小:

[UIFont fontWithName:@"Awesome-Bold" size:0], UITextAttributeFont

【讨论】:

我似乎无法让它工作。你把这段代码放在哪里了? 它是上面在setTitleTextAttributes:中设置的字典的一部分 抱歉,我想我没有说清楚——我的意思是您发布的整个代码块在应用程序的哪个位置?查看DiLoad?在里面?我到处都试过了,我看没有效果。 对不起,我误会了。我通常在application:didFinishLaunchingWithOptions: 中自定义我的应用程序的外观我通常会创建一个单独的方法-(void)customizeAppearance,然后我会从application:didFinishLaunchingWithOptions: 调用它。希望对您有所帮助。

以上是关于UINavigationBar 横向标题字体大小的主要内容,如果未能解决你的问题,请参考以下文章

旋转到横向时自动调整 UINavigationBar 的大小

如何防止在横向上自动调整 UINavigationBar 的大小

有没有办法找到 UINavigationBar 标题的字体和框架大小?

如何更改 UINavigationBar 标题的字体和文字颜色

iOS 11 中 UINavigationBar 大标题的默认字体?

如何设置导航栏标题的字体大小