web-dev-qa-db-fra.com

Changer la police dans UITabBarItem

Salut, j'ai ce code et ça ne marche pas, qu'est-ce que je fais mal?

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

BTW ce n'est pas la seule chose dans mon viewDidLoad mais je voulais juste vous montrer les gars c'est là que je l'ai mis.

34
user1457381

Selon: Comment changer la couleur du texte dans UITabBarItem dans iOS 5

Il semble que la solution envoie le message au proxy d'apparence, au lieu d'un élément:

(obsolète dans iOS 7.0 +)

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

Pour iOS 7.0+, utilisez:

[[UITabBarItem appearance] setTitleTextAttributes:@{NSFontAttributeName: [UIFont fontWithName:@"AmericanTypewriter" size:20.0f]} forState:UIControlStateNormal];
69
Chris Trahey

Voie rapide, pour les paresseux:

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

Swift 4.1 et police personnalisée

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)
6
Maciej

Swift 3

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

Swift 4

UITabBarItem.appearance().setTitleTextAttributes([NSAttributedString.Key.font: UIFont.tabbar], for: .normal)
2
niggeulimann