Вы имеете в виду это?Имейте в виду, что это работает только для iOS 5.0 или новее.
if ([self.tabBarItem respondsToSelector:@selector(setTitleTextAttributes:)]) {
NSLog(@"*** Support method(iOS 5): setTitleTextAttributes:");
[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]];
}
Документация Apple по настройке внешнего вида:
В iOS v5.0 и новее вы можете настроитьпоявление панелей вкладок путем установки атрибутов текста метки элемента с помощью селекторов внешнего вида, объявленных UIBarItem.Вы также можете использовать методы, перечисленные в разделе «Настройка внешнего вида». Вы можете настроить внешний вид всех сегментированных элементов управления, используя прокси-сервер внешнего вида (например, [UITabBarItem Appearance]), или только одну панель вкладок.Вы также можете предоставить готовые выбранные и невыбранные изображения, используя методы, перечисленные в «Управление готовым выбранным изображением»;однако эти методы не участвуют в прокси-API UIAppearance (см. UIAppearance).UIKit теперь обеспечивает автоматическую обработку готовых изображений.Для получения хороших результатов вы должны предоставить готовые выбранные и невыбранные изображения в совпадающих парах, используя setFinishedSelectedImage: withFinishedUnselectedImage:.
Редактировать: Вот еще один пример использования системы UIAppearance и NSDictionary буквальный синтаксис:
[[UITabBarItem appearance] setTitleTextAttributes:@{
UITextAttributeFont : [UIFont fontWithName:@"AmericanTypewriter" size:20.0f],
UITextAttributeTextColor : [UIColor blackColor],
UITextAttributeTextShadowColor : [UIColor grayColor],
UITextAttributeTextShadowOffset : [NSValue valueWithUIOffset:UIOffsetMake(0.0f, 1.0f)]}];
Редактировать (от @JeremyWiebe): Начиная с iOS 6, ключи словаря были изменены, чтобы быть такими же, как ОСX использует:
NSShadow *shadow = [[NSShadow alloc] init];
shadow.shadowColor = [UIColor grayColor];
shadow.shadowOffset = CGSizeMake(0, 1.0);
[[UITabBarItem appearance] setTitleTextAttributes:@{
NSFontAttributeName : [UIFont fontWithName:@"AmericanTypewriter" size:20.0f],
NSForegroundColorAttributeName : [UIColor blackColor],
NSShadowAttributeName : shadow }];