自定义UINavigationBar字体不显示

时间:2013-02-23 15:27:24

标签: iphone xcode uinavigationbar uifont

我带入Xcode的自定义TrueType字体文件无法在UINavigationBar中正确显示。它不显示自定义字体,而是显示系统字体(Helvetica Bold)。

RootViewController.m

self.title = @"Library";
    [[UINavigationBar appearance] setTitleTextAttributes:
     [NSDictionary dictionaryWithObjectsAndKeys:
      [UIColor whiteColor], UITextAttributeTextColor,
      [UIFont fontWithName:@"adellebasic_bold.ttf" size:20.0], UITextAttributeFont,nil]];

我还确保将其正确复制到Xcode中,然后在UIAppFonts文件中的Info.plist下声明了它。另请注意,如果我将代码设置为iPhone SDK中包含的UIFont而不是引入的自定义字体,则代码可以正常工作。

有没有人对我在这里做错了什么有任何想法?

2 个答案:

答案 0 :(得分:3)

试试这个:

    NSMutableDictionary *titleBarAttributes = [NSMutableDictionary dictionaryWithDictionary: [[UINavigationBar appearance] titleTextAttributes]];

    [titleBarAttributes setValue:[UIFont fontWithName:@"adellebasic_bold" size:25.0f] forKey:UITextAttributeFont];

    [self.navigationController.navigationBar setTitleTextAttributes:titleBarAttributes];

    [self.navigationController.navigationBar setTitleVerticalPositionAdjustment:4.0f forBarMetrics:UIBarMetricsDefault];

希望这有帮助。

答案 1 :(得分:0)

实际上字体文件名和字体名是两个不同的东西。 选中此项:iOS: How can i set a non system font family, style, size of UILabel?

请尝试使用此名称“Adelle Basic Bold”。