20

私の AppDelegate 実装ファイルでは、次のコード行を使用して、カスタム フォントと tabBarItems の色を設定します。

[[UITabBarItem appearance] setTitleTextAttributes:
[NSDictionary dictionaryWithObjectsAndKeys:
[UIColor grayColor], UITextAttributeTextColor, 
[UIFont fontWithName:@"Arial" size:0.0], UITextAttributeFont, 
nil] forState:UIControlStateNormal];

[[UITabBarItem appearance] setTitleTextAttributes:
[NSDictionary dictionaryWithObjectsAndKeys:
[UIColor whiteColor], UITextAttributeTextColor, 
[UIFont fontWithName:@"Arial" size:0.0], UITextAttributeFont, 
nil] forState:UIControlStateHighlighted];

なんらかの (不明な) 理由で、次のメッセージが各 tabBarItem について 1 つずつログに記録されます。

button text attributes only respected for UIControlStateNormal, UIControlStateHighlighted and UIControlStateDisabled. state = 1 is interpreted as UIControlStateHighlighted.

標準の検索エンジンでは何も見つからなかったので、助けを求めます。私は何が間違っていて、これを修正する方法はありますか?

ご提案いただきありがとうございます。

4

2 に答える 2

51

「UIControlStateHighlighted」を「UIControlStateSelected」に変更するだけです。お役に立てれば!

于 2012-11-21T07:42:37.653 に答える
7

以下を使用していたため、同じ問題が発生しました。

[[UIBarButtonItem appearance] setTitleTextAttributes:
 [NSDictionary dictionaryWithObjectsAndKeys:
  [UIColor whiteColor], UITextAttributeTextColor, nil] forState:UIControlStateSelected];

私はそれを次のように変更しました:

[[UIBarButtonItem appearance] setTitleTextAttributes:
 [NSDictionary dictionaryWithObjectsAndKeys:
  [UIColor whiteColor], UITextAttributeTextColor, nil] forState:UIControlStateHighlighted];

…そして問題は解決しました。お役に立てれば!

于 2012-07-16T12:05:01.767 に答える