2017-10-20 9 views
1

UITabBarItemのタイトルテキストと画像を非選択状態で別の色に設定したいとします。選択された状態のためにUITabBarItemで別の選択されていない画像とテキストの色を設定する方法

、私はそうのようにこれを達成することができます:選択されていない状態の場合

[[UITabBar appearance] setTintColor:[UIColor purpleColor]]; // image color 
[[UITabBarItem appearance] setTitleTextAttributes:@{ NSForegroundColorAttributeName: [UIColor orangeColor] } forState:UIControlStateSelected]; // text color 

を、私は次のことをしようとしています:

[[UITabBar appearance] setUnselectedItemTintColor:[UIColor blueColor]]; // image color 
[[UITabBarItem appearance] setTitleTextAttributes:@{ NSForegroundColorAttributeName: [UIColor redColor] } forState:UIControlStateNormal]; // text color 

しかし、いくつかの理由で、unselectedItemTintColor設定について上記のスニペットで、テキストと画像の両方が青色で表示されます。titleTextAttributesのために試して設定したものを上書きします。

私はUITabBarItemappearanceの代わりに)を作成した後でtitleTextAttributesを直接変更しようとしましたが、これもまた効果がないようです。

選択していない色をどのように変えることができますか?出来ますか?

+0

を行います。オプションは、1)イメージのみを使用するか、2)タブバーアイテムのカスタムビューを使用するか、または3)カスタムタブバーコントローラを使用するかのいずれかです。 – DonMag

答えて

1

私は投稿直後にこれを解決することができました。 unselectedItemTintColorUIAppearanceに設定すると、項目のtitleTextAttributesが上書きされますが、unselectedItemTintColorをタブバーに直接設定するとすべて正常に機能します。

ので、代わりの

[[UITabBar appearance] setUnselectedItemTintColor:[UIColor blueColor]]; 

はちょうどこれは確かにバグのように見える

[self.myTabBarInstance setUnselectedItemTintColor:[UIColor blueColor]]; 
関連する問題