0

プログラムでタブバーアイテムのテキストの色を変更しようとしています。使ってます

[[UITabBar appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:
                                                       [UIFont fontWithName:@"AmericanTypewriter" size:20.0f], UITextAttributeFont,
                                                       [UIColor blackColor], UITextAttributeTextColor,
                                                       [UIColor grayColor], UITextAttributeTextShadowColor,
                                                       [NSValue valueWithUIOffset:UIOffsetMake(0.0f, 1.0f)], UITextAttributeTextShadowOffset,
                                                       nil]];

これはiOS5以降で動作するはずです。しかし、私のアプリはコンソールでエラーでクラッシュします:

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[_UIAppearance setTitleTextAttributes:]: unrecognized selector sent to instance 0x79f5790'
*** First throw call stack:

わからない、なぜ私はクラッシュするのか。また、タブバーアイテムのフォントの色を変更する他の方法がある場合は、提案してください。

ありがとう

4

3 に答える 3

2

これらの答えはどちらも正しくありません(少なくともiOS 6の場合)。

forState:通話の最後に行方不明です。例

[[UITabBarItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:
                                                       [UIColor whiteColor], UITextAttributeTextColor,
                                                       [UIColor grayColor], UITextAttributeTextShadowColor,
                                                       [NSValue valueWithUIOffset:UIOffsetMake(0.0f, 1.0f)], UITextAttributeTextShadowOffset,
                                                       nil] forState:UIControlStateNormal];
于 2013-04-05T01:04:10.873 に答える
1

タイトルは一部ではありませんUITabBarUITabBarItem、代わりにUITabBar

[[UITabBarItem appearance] setTitleTextAttributes:
于 2012-07-09T09:13:10.440 に答える
1

setTitleTextAttributesUIBarItemクラスのメソッドです。

したがって、タブバーアイテムをフェッチし、それらのタイトル属性を設定します。

これを参照してください

チュートリアル

タブバーでスタイルを設定するため

于 2012-07-09T09:18:00.193 に答える