未選択のUITabBarItemタイトルと背景画像iOS 8のtintColorを変更するにはどうすればよいですか?
選択されていない状態のデフォルトの色は明るい灰色ですが、暗い影のUITabBar背景には表示されません
選択されていない状態の色を[UIColor blackColor]にしたい
私のアプリのデリゲート内部でオプションを使用して完了しました:私は持っています
UIImage *deselectedE = [[UIImage imageNamed:@"mincraft_axe_green_32.png"] imageWithRenderingMode:UIImageRenderingModeAutomatic];
UIImage *selectedE = [[UIImage imageNamed:@"mincraft_axe_green_32.png"] imageWithRenderingMode:UIImageRenderingModeAutomatic];
e.tabBarItem = [[UITabBarItem alloc] initWithTitle:@"Profile" image:deselectedE selectedImage:selectedE];
[[UITabBar appearance] setTintColor:[UIColor blackColor]];
理解した!
これを使用して、テキストの色を変更します。
[[UITabBarItem appearance] setTitleTextAttributes:@{ NSForegroundColorAttributeName : [UIColor greenColor] }
forState:UIControlStateNormal];
[[UITabBarItem appearance] setTitleTextAttributes:@{ NSForegroundColorAttributeName : [UIColor blackColor] }
forState:UIControlStateSelected];
そして、画像の画像レンダリングモードがORIGINALに設定されていることを確認します
UIImage *deselectedImage = [[UIImage imageNamed:@"deselectedImage"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
UIImage *selectedImage = [[UIImage imageNamed:@"selectedImage"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
application didFinishLaunchingWithOptions:
内のAppDelegate.mで、次のコードを使用します。
//unselected icon tint color
[[UIView appearanceWhenContainedIn:[UITabBar class], nil] setTintColor:[UIColor redColor]];
//selected tint color
[[UITabBar appearance] setTintColor:[UIColor greenColor]];
//text tint color
[[UITabBarItem appearance] setTitleTextAttributes:@{ NSForegroundColorAttributeName : [UIColor whiteColor] }
forState:UIControlStateNormal];
//background tint color
[[UITabBar appearance] setBarTintColor:[UIColor blueColor]];
ストーリーボードで直接設定することもできます...ここで私の答えを確認してください: ITabBarItemの選択されていない色合いの設定方法、***システムアイテムを含む***(iOS7)
Storyboardを使用している場合は、
Bar Item
のImage
とSelected Image
のSelected Bar Item
の両方を設定して、tabBarで変更されていない画像を取得することもできます。
または、Assets
カタログで、画像の属性でRender As
:Original Image
を選択できます(View
> Utilities
> Show Attributes Inspector
またはショートカット⌥⌘4
(Option + Command + 4))