【问题标题】:UINavigationBar change title text color and font sizeUINavigationBar 更改标题文本颜色和字体大小
【发布时间】:2014-07-03 10:57:04
【问题描述】:

我想更改导航标题的字体和颜色..所以,我已经在下面的代码中完成了这个..但它不起作用...

if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"7")) {


    NSDictionary *navbarTitleTextAttributes = [NSDictionary dictionaryWithObjectsAndKeys:
                                               [UIColor whiteColor],
                                               NSForegroundColorAttributeName,
                                               [UIFont fontWithName:@"MyFavoriteFont" size:20.0],
                                               NSFontAttributeName,
                                               nil];
    [[UINavigationBar appearance] setTitleTextAttributes:navbarTitleTextAttributes];
    NSLog(@"setTitleTextAttributes");
}

为什么这段代码不起作用?

【问题讨论】:

    标签: ios7 uinavigationbar iphone-5


    【解决方案1】:

    将属性应用到 Navigationcontroller 实例。

    if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"7")) {
        NSDictionary *navbarTitleTextAttributes = [NSDictionary dictionaryWithObjectsAndKeys:
                                                   [UIColor whiteColor],
                                                   NSForegroundColorAttributeName,
                                                   [UIFont fontWithName:@"MyFavoriteFont" size:20.0],
                                                   NSFontAttributeName,
                                                   nil];
        [self.transitionNavController.navigationBar setTitleTextAttributes:navbarTitleTextAttributes];
    }
    

    希望这会有所帮助...

    【讨论】:

      【解决方案2】:
      if([[[UIDevice currentDevice] systemVersion] floatValue] < 7.0)
              {
                  [[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"nav_bg.png"] forBarMetrics:UIBarMetricsDefault];
                  [[UINavigationBar appearance] setTitleTextAttributes:
                   @{
                     UITextAttributeTextColor: [UIColor whiteColor],UITextAttributeTextShadowColor: [UIColor clearColor],UITextAttributeTextShadowOffset: [NSValue valueWithUIOffset:UIOffsetMake(0.0f, 1.0f)],UITextAttributeFont: [UIFont fontWithName:@"ArialMT" size:18.0f]
                     }];
                  CGFloat verticalOffset = -4;
                  [[UINavigationBar appearance] setTitleVerticalPositionAdjustment:verticalOffset forBarMetrics:UIBarMetricsDefault];
              }
              else
              {
                  [[UINavigationBar appearance] setBarTintColor:[UIColor whiteColor]];
      
                  // Uncomment to change the color of back button
                  [[UINavigationBar appearance] setTintColor:[UIColor whiteColor]];
      
                  // Uncomment to assign a custom backgroung image
                  [[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"nav_bg.png"] forBarMetrics:UIBarMetricsDefault];
      
                  // Uncomment to change the back indicator image
      
                  [[UINavigationBar appearance] setBackIndicatorImage:[UIImage imageNamed:@""]];
                  [[UINavigationBar appearance] setBackIndicatorTransitionMaskImage:[UIImage imageNamed:@""]];
      
                  // Uncomment to change the font style of the title
      
                  NSShadow *shadow = [[NSShadow alloc] init];
                  shadow.shadowColor = [UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:0.8];
                  shadow.shadowOffset = CGSizeMake(0, 1);
      
                  [[UINavigationBar appearance] setTitleTextAttributes: [NSDictionary dictionaryWithObjectsAndKeys:[UIColor colorWithRed:245.0/255.0 green:245.0/255.0 blue:245.0/255.0 alpha:1.0], NSForegroundColorAttributeName,shadow, NSShadowAttributeName,[UIFont fontWithName:@"ArialMT" size:18.0], NSFontAttributeName, nil]];
      
                  CGFloat verticalOffset = 0;
                  [[UINavigationBar appearance] setTitleVerticalPositionAdjustment:verticalOffset forBarMetrics:UIBarMetricsDefault];
              }
      

      【讨论】:

        猜你喜欢
        • 2015-10-29
        • 1970-01-01
        • 2019-06-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-01-23
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多