web-dev-qa-db-ja.com

iOS 7でタブバーの色合いを変更する

IOS 7のタブバーの色合いを、青色のアイコンが付いたデフォルトの白から、異なる色のボタンが付いた別の色の色合いに変更する方法はありますか?

75
Jake Chasan

これを行うには、はるかに簡単な方法があります。

ファイルインスペクタを開いて、「グローバルティント」を選択するだけです。

Interface Builderでアプリの色合いを設定することもできます。ファイルインスペクターの「Interface Builder Document」セクションの「Global Tint」メニューでは、「色」ウィンドウを開くか、特定の色を選択できます。

以下も参照してください。

https://developer.Apple.com/library/ios/documentation/userexperience/conceptual/TransitionGuide/AppearanceCustomization.html

22
herdi

iOS 7.1.1

誰かがグローバルに設定された色合いを使用する必要がある場合:

[[UIView appearance] setTintColor:[UIColor whiteColor]];

didFinishLaunchingWithOptions of AppDelegate

また、以下のコードは、viewDidLoadメソッドのタブバーの色のみを変更します。

[self.tabBarController.tabBar setTintColor:[UIColor redColor]];
16

アプリデリゲートdidFinishLaunchingWithOptionsで:

window.tintColor = [UIColor purpleColor];

アプリの色合いをグローバルに設定します。

9

これをTab BarのView Controllerクラスに記述します。

// Generate a black tab bar
self.tabBarController.tabBar.barTintColor = [UIColor blackColor];

// Set the selected icons and text tint color
self.tabBarController.tabBar.tintColor = [UIColor orangeColor];
5
Ruchi

最終的に私のために働いたのは:

[self.tabBar setTintColor:[UIColor redColor]];
[self.tabBar setBarTintColor:[UIColor yellowColor]];

Attributes Inspector」のTab Bar Controllerインターフェイスビルダーボトムバーが不透明タブバーに設定されていることを確認してください:

Choose Opaque

次に、AppDelegate.mファイルに移動します。検索:

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

そして、このコードを中括弧の間に追加して、タブバーボタンとタブバーの背景の両方の色を変更します:

///----------------SET TAB BAR COLOR------------------------//

//--------------FOR TAB BAR BUTTON COLOR---------------//
[[UITabBar appearance] setTintColor:[UIColor greenColor]];

//-------------FOR TAB BAR BACKGROUND COLOR------------//
[[UITabBar appearance] setBarTintColor:[UIColor whiteColor]];
1
user4203956

提案されたすべての解決策を試した後、私は非常に有用なものを見つけることができませんでした。

私は最終的に次のことを試しました:

[self.tabBar setTintColor:[UIColor orangeColor]];

完璧に機能しました。

TabBarItemごとに画像を1つだけ提供しました。 selectedImageも必要ありませんでした。

Child-ViewControllers内でも使用して、さまざまなTintColorsを設定しました。

UIColor *theColorYouWish = ...;
if ([[self.parentViewController class] isSubclassOfClass:[UITabBarController class]]){
    UITabBarController *tbc = (UITabBarController *) self.parentViewController;
    [tbc.tabBar setTintColor:theColorYouWish];
}
0
dfinki