繁体   English   中英

防止UiNavigationBar标题被截断?

[英]Prevent UiNavigationBar Title from getting Cut off?

我试图在我的ios应用程序中自定义navigationBar标题的外观。 这是我目前的代码:

NSMutableDictionary *navigationTitleAttributes = [NSMutableDictionary dictionary];
[navigationTitleAttributes setValue:[UIColor whiteColor] forKey:UITextAttributeTextColor];
[navigationTitleAttributes setValue:[UIColor clearColor] forKey:UITextAttributeTextShadowColor];
[navigationTitleAttributes setValue:[NSValue valueWithUIOffset:UIOffsetMake(0.0, 0.0)] forKey:UITextAttributeTextShadowOffset];
[navigationTitleAttributes setValue:[UIFont fontWithName:@"Calibri" size:30] forKey:UITextAttributeFont];


[[UINavigationBar appearance] setTitleTextAttributes:navigationTitleAttributes];
[[UINavigationBar appearance] setTitleVerticalPositionAdjustment:-8 forBarMetrics:UIBarMetricsDefault];

该代码产生以下效果:

截图

它的效果很好但是我的标题从底部被切断了。

我已经看到使用自定义UIView的问题的解决方案(例如这一个: 使用titleTextAttributes时,UINavigationbar标题被截断 )。 但是,该特定解决方案要求为每个屏幕更新导航栏的titleView属性。

我想知道是否有一个简单的解决方案可以级联我的整个应用程序。

谢谢

简单的解决方案是不要使用如此大的字体大小。 如果将大小设置为零,则文本应根据需要自动调整大小。

否则,使用自定义视图是正确的解决方案。 您可以子类化导航控制器或导航栏,以确保所有视图都以相同的方式设置标签样式。

如果您使用的是自定义字体,那么您可能遇到了同样的问题。 我在这篇文章中找到了一些答案,非常有帮助。 我在.otf字体文件中更改了下降值,以防止我的字体在底部被切断。 它在iOS 7中尤为普遍。

自定义安装的字体在UILabel中无法正确显示

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM