【问题标题】:Prevent UiNavigationBar Title from getting Cut off?防止 UiNavigationBar 标题被截断?
【发布时间】:2013-08-20 01:32:14
【问题描述】:

我正在尝试在我的 ios 应用程序中自定义导航栏标题的外观。这是我目前拥有的代码:

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 的解决方案(例如:UINavigationbar title is cut off when using titleTextAttributes)。但是,该特定解决方案需要为每个屏幕更新导航栏的 titleView 属性。

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

谢谢

【问题讨论】:

    标签: ios uinavigationbar uiappearance


    【解决方案1】:

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

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

    【讨论】:

    • 将字体大小设置为零以自动调整文本大小是一个很好的提示,效果很好。
    • 这让它对我来说消失了
    【解决方案2】:

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

    Custom installed font not displayed correctly in UILabel

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多