防止UiNavigationBar标题被截断?

Sha*_*vid 5 uinavigationbar ios uiappearance

我试图在我的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];
Run Code Online (Sandbox Code Playgroud)

该代码产生以下效果:

截图

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

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

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

谢谢

Wai*_*ain 0

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

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

  • 这让它对我来说消失了 (2认同)