Изменение шрифта в UITabBarItem

Привет, у меня есть этот код, и он не работает, что я делаю не так?

- (void)viewDidLoad
{    
    [self.tabBarItem setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIFont fontWithName:@"AmericanTypewriter" size:20.0f], UITextAttributeFont, nil] forState:UIControlStateDisabled];
}

Кстати, это не единственная вещь в моем viewDidLoad, но я просто хотел показать вам, ребята, вот где я это написал.

 Chris Trahey17 июн. 2012 г., 08:56
Можете ли вы поделиться на какую версию iOS вы ориентируетесь? Эта функция является новой для iOS 5.
 user145738117 июн. 2012 г., 08:58
@ctrahey Я ориентируюсь на iOS 5.

Ответы на вопрос(5)

Swift 4

UITabBarItem.appearance().setTitleTextAttributes([NSAttributedString.Key.font: UIFont.tabbar], for: .normal)
Решение Вопроса

Согласно:Как изменить цвет текста в UITabBarItem в iOS 5

Похоже, что решением может быть отправка сообщения на внешний прокси вместо одного элемента:

(Deprecated in iOS 7.0+)

[[UITabBarItem appearance] setTitleTextAttributes:@{UITextAttributeFont: [UIFont fontWithName:@"AmericanTypewriter" size:20.0f]} forState:UIControlStateNormal];

For iOS 7.0+ use:

[[UITabBarItem appearance] setTitleTextAttributes:@{NSFontAttributeName: [UIFont fontWithName:@"AmericanTypewriter" size:20.0f]} forState:UIControlStateNormal];
 27 июн. 2015 г., 18:40
Это сработало для меня в быстром: UITabBarItem.appearance (). SetTitleTextAttributes ([NSFontAttributeName: UIFont (name: & quot; AmericanTypewriter & quot ;, размер: 20.0)] как [NSObject: AnyObject!], ForState: UIContorState.
 23 дек. 2014 г., 11:38
Здесь явно не указано. Вы можете поместить этот код в функцию didFinishLaunchingWithOptions в делегате приложения, чтобы установить его для приложения
 17 июн. 2012 г., 17:30
изменить forstate: UIControlStateNormal
 18 авг. 2015 г., 10:20
NSFontAttributeName для iOS7 + и UITextAttributeFont для iOS6-
 19 окт. 2015 г., 13:56
@{NSFontAttributeName: [UIFont fontWithName:@"AmericanTypewriter" size:20.0f]} на 2015 год.

Swift 4.1 and custom font

UITabBarItem.appearance().setTitleTextAttributes([NSAttributedString.Key.font: UIFont(name: "Montserrat-Medium", size: 11)], for: .normal)
UITabBarItem.appearance().setTitleTextAttributes([NSAttributedString.Key.font: UIFont(name: "Montserrat-Medium", size: 11)], for: .selected)

Свифт 3

UITabBarItem.appearance().setTitleTextAttributes([NSFontAttributeName: UIFont(name: "OpenSans", size: 10)!], for: .normal)

Быстрый путь, для ленивых:

UITabBarItem.appearance().setTitleTextAttributes([NSFontAttributeName: UIFont.systemFontOfSize(10)], forState: .normal)
UITabBarItem.appearance().setTitleTextAttributes([NSFontAttributeName: UIFont.systemFontOfSize(10)], forState: .selected)
 28 нояб. 2017 г., 12:00
@AbbasAngouti для изменения выбранного шрифта вы должны использовать что-то вроде этого:stackoverflow.com/a/47529912/1980246
 31 янв. 2017 г., 19:13
Это не меняет шрифт для меня.selected государство.

Ваш ответ на вопрос