Подтвердить что ты не робот

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

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

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

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

4b9b3361

Ответ 1

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

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

(Устаревший в iOS 7.0 +)

[[UITabBarItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIFont fontWithName:@"AmericanTypewriter" size:20.0f], UITextAttributeFont, nil] forState:UIControlStateNormal];

Для iOS 7.0+ используйте:

[[UITabBarItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIFont fontWithName:@"AmericanTypewriter" size:20.0f], NSFontAttributeName, nil] forState:UIControlStateNormal];

Ответ 2

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

UITabBarItem.appearance().setTitleTextAttributes([NSFontAttributeName: UIFont.systemFontOfSize(10)], forState: .normal)
UITabBarItem.appearance().setTitleTextAttributes([NSFontAttributeName: UIFont.systemFontOfSize(10)], forState: .selected)

Ответ 3

Swift 3

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