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 を介してタブバー項目のテキスト属性を設定する方法が見つかりませんでした。
助けやヒントをいただければ幸いです。:-)
おめでとう、トーマス