2012-06-17 15 views
28

でフォントを変更する、私が間違って何をやっていますか?こんにちは、私はこのコードを持って、それが動作しませんUITabBarItem

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

ところでそれは私のviewDidLoadでは唯一のものではありませんが、私はあなたに私はそれを置くthatsの男を見せたかったです。

+0

あなたがターゲットとしているのiOSのバージョンを共有することはできますか?ここで明示的に言及されていないUIControlStateNormal –

+0

に新しいです。あなたが迅速に私のために働いたアプリ –

答えて

61

1として:溶液の代わりに一つのアイテムの外観プロキシにメッセージを送信することができるように見えHow to change the Color of text in UITabBarItem in iOS 5

(7.0+ IOSの非推奨)

[[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]; 
+0

をターゲットにしています@ctraheyこの機能は、iOS 5 –

+4

変更forstateを何も変更しなかったのiOS 5 –

+3

:私はそれは... –

7

lazies用スウィフトの方法、:

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

これは '.selected'のために私のフォントを変更しません。 – AbbasAngouti

+1

フォントを変更するための@AbbasAngoutiは、次のようなものを使用する必要があります。https://stackoverflow.com/a/47529912/1980246 –

2

スウィフト3

UITabBarItem.appearance().setTitleTextAttributes([NSFontAttributeName: UIFont(name: "OpenSans", size: 10)!], for: .normal) 
関連する問題