Я делаю приложение на основе tabbarController. У меня есть 3 вкладки.
Мой вопрос: как изменить стиль шрифта для заголовка в элементе табуляции?
Я делаю приложение на основе tabbarController. У меня есть 3 вкладки.
Мой вопрос: как изменить стиль шрифта для заголовка в элементе табуляции?
[self.tabBarItem setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:
[UIFont fontWithName:@"AmericanTypewriter" size:20.0f], UITextAttributeFont,
[UIColor blackColor], UITextAttributeTextColor,
[UIColor grayColor], UITextAttributeTextShadowColor,
[NSValue valueWithUIOffset:UIOffsetMake(0.0f, 1.0f)], UITextAttributeTextShadowOffset,
nil]];
Это изменяет шрифты U UITabBarItem раз и навсегда во всем приложении
Для Swift используйте это в AppDelegate doneFinishLaunching:
Swift 3:
UITabBarItem.appearance().setTitleTextAttributes([NSForegroundColorAttributeName:UIColor.blue,NSFontAttributeName: UIFont(name: "Montserrat", size: 11)!], for: .normal)
UITabBarItem.appearance().setTitleTextAttributes([NSForegroundColorAttributeName:UIColor.red,NSFontAttributeName: UIFont(name: "Montserrat", size: 11)!], for: .selected)
Извините, я не думаю, что есть способ сделать это. Если вы в отчаянии, вам нужно написать собственную панель вкладок.
К сожалению, это невозможно в настоящее время на iOS, если вы не создадите собственную панель вкладок, что не очень сложно для раскадровки на iOS5.
Невозможно создать подклассу панели вкладок custome UITabbar
Если вы видите эту ошибку: 'UITextAttributeTextShadowOffset' is deprecated: first deprecated in iOS 7.0 - Use NSShadowAttributeName with an NSShadow instance as the value.
, попробуйте это.
NSShadow *shadow = [[NSShadow alloc] init];
shadow.shadowColor = [UIColor grayColor];
shadow.shadowOffset = CGSizeMake(0.0, 0.5);
NSDictionary *attribute = [NSDictionary dictionaryWithObjectsAndKeys:
[UIFont fontWithName:@"AmericanTypewriter" size:10.0f], NSFontAttributeName,
[UIColor blackColor], NSForegroundColorAttributeName,
shadow,NSShadowAttributeName,nil];
[[UITabBarItem appearance] setTitleTextAttributes:attribute forState:UIControlStateNormal];
Попробуйте это.
[[UITabBarItem appearanceWhenContainedIn:[UITabBar class], nil]
setTitleTextAttributes:@{NSForegroundColorAttributeName:
[UIColor colorWithRed:0/255.0f green:130/255.0f blue:202/255.0f alpha:1.0],
NSFontAttributeName:[UIFont fontWithName:@"Signika-Semibold" size:20.0]
}
forState:UIControlStateNormal];