UINavigationBar change title text color and font size

匿名 (未验证) 提交于 2019-12-03 00:52:01

问题:

I want to change navigation title's font and color..so, for that i've done this below code..but its not working...

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"); } 

why this code is not working?

回答1:

Apply Attributes to Navigationcontroller instance.

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]; } 

Hope this helps...



回答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];         } 


标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!