0

TabBar をカスタマイズするコードがいくつかあります。これを行うには、外観フレームワークを使用します。アプリはiOS 5+なので、私が理解している限り、これは機能するはずです。私のコードは次のようになります。

NSDictionary *textAttributesNormal = @{
  UITextAttributeTextColor: [UIColor colorWithRed:0.04f green:0.25f blue:0.56f alpha:1.00f],
  UITextAttributeTextShadowOffset: [NSValue valueWithUIOffset:UIOffsetMake(0, 0)]
};

NSDictionary *textAttributesSelected = @{
  UITextAttributeTextColor: [UIColor colorWithWhite:1.0 alpha:1.0]
};


[[UITabBar appearance] setTintColor:[UIColor colorWithRed:0.53f green:0.76f blue:0.91f alpha:1.00f]];
[[UITabBarItem appearance] setTitleTextAttributes:textAttributesNormal forState:UIControlStateNormal];
[[UITabBarItem appearance] setTitleTextAttributes:textAttributesSelected forState:UIControlStateSelected];

これは、デリゲートの applicationDidFinishLaunching メソッドで行います。このコードは iOS6 で完全に機能し、意図したとおりに機能します。しかし、iOS 5 では何もしません。警告やエラーもスローされません。

動作は、シミュレータと実機で同じです。インターフェイス ビルダーで色合いを設定すると、iOS5 で動作します。しかし、IF を介してタブバー項目のテキスト属性を設定する方法が見つかりませんでした。

助けやヒントをいただければ幸いです。:-)

おめでとう、トーマス

4

1 に答える 1

0

わかりました、外観コードは実際の問題ではありませんでした。述べたように、私はこれをしました

- (void)applicationDidFinishLaunching:(UIApplication *)application

アプリは少し古く、Apple のドキュメントには、iOS3+ で使用する必要があると記載されています

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

それを変更したところ、期待どおりに動作するようになりました。

于 2013-01-16T07:03:43.173 に答える