iPhone UINavigationBar change font style for all controllers with [UINavigationBar appearance]

后端 未结 3 1898
没有蜡笔的小新
没有蜡笔的小新 2021-02-09 20:27

I\'m aware that I can individually change the font of a navigation bar as outlined in this answer: Change the navigation bar's font

Currently I\'m using a more globa

相关标签:
3条回答
  • 2021-02-09 21:09

    @Javy's answer with @Philip007's suggestion:

    [[UINavigationBar appearance] setTitleTextAttributes: @{
                                UITextAttributeTextColor: [UIColor colorWithRed:255.0/255.0 green:255.0/255.0 blue:255.0/255.0 alpha:1.0],
                          UITextAttributeTextShadowColor: [UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:0.8],
                         UITextAttributeTextShadowOffset: [NSValue valueWithUIOffset:UIOffsetMake(0.0f, 1.0f)],
                                     UITextAttributeFont: [UIFont fontWithName:@"Helvetica-Light" size:0.0f]
     }];
    

    ahh... that's better!

    0 讨论(0)
  • 2021-02-09 21:19

    Above answers with updates for deprecated keys and use of NSShadow:

    NSShadow *shadow = [[NSShadow alloc] init];
    shadow.shadowColor = [UIColor blackColor];
    shadow.shadowBlurRadius = 0.0;
    shadow.shadowOffset = CGSizeMake(0.0, 2.0);
    [[UINavigationBar appearance] setTitleTextAttributes: @{
                         NSForegroundColorAttributeName : [UIColor blackColor],
                                    NSFontAttributeName : [UIFont fontWithName:@"Helvetica-Light" size:0.0f],
                                  NSShadowAttributeName : shadow
    }];
    

    Also setting the font size to 0 so it automatically resizes based on navigation bar orientation/height.

    0 讨论(0)
  • 2021-02-09 21:22

    From Ray Wenderlich:

    http://www.raywenderlich.com/4344/user-interface-customization-in-ios-5

    // Customize the title text for *all* UINavigationBars
    [[UINavigationBar appearance] setTitleTextAttributes:
    [NSDictionary dictionaryWithObjectsAndKeys:
        [UIColor colorWithRed:255.0/255.0 green:255.0/255.0 blue:255.0/255.0 alpha:1.0], 
        UITextAttributeTextColor, 
        [UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:0.8], 
        UITextAttributeTextShadowColor, 
        [NSValue valueWithUIOffset:UIOffsetMake(0, -1)], 
        UITextAttributeTextShadowOffset, 
        [UIFont fontWithName:@"Arial-Bold" size:0.0], 
        UITextAttributeFont, 
        nil]];
    
    0 讨论(0)
提交回复
热议问题