web-dev-qa-db-ja.com

タブバー設定メニューのナビゲーションバーの色を設定する方法

削除されたImageShackリンクを削除

ご覧のとおり、変更が必要なビューは、タブバーの順序をカスタマイズするためのビューです。ナビゲーションバーの色を変更したい( "構成"を意味する "Konfigurieren"が表示されています)。 "More"ナビゲーションコントローラーの色を変更する方法は既にわかっていますが、これは変更できません。誰かが私を助けてくれますか?

31
gabtub

Int AppDelegateを使用する

tabBarController.moreNavigationController.navigationBar.tintColor = [UIColor blackColor];
15
Saqib Saud

私はあなたが探しているのはこれだと思います(ナビゲーションコントローラーを作成するときに、通常はアプリデリゲートで行います):

UINavigationController *navigationController;
...
navigationController.navigationBar.tintColor = [UIColor blackColor];
20
Zoran Simic

確かに動作します! :-)

self.navigationController.navigationBar.tintColor  = [UIColor blackColor];
14
Developer

簡単にすることができます(タブバーデリゲートで使用):

- (void)tabBarController:(UITabBarController *)tabBarController willBeginCustomizingViewControllers:(NSArray *)viewControllers {
id modalViewCtrl = [[[tabBarController view] subviews] objectAtIndex:1];  
if([modalViewCtrl isKindOfClass:NSClassFromString(@"UITabBarCustomizeView")] == YES)
    ((UINavigationBar*)[[modalViewCtrl subviews] objectAtIndex:0]).tintColor = [UIColor redColor];
}
12
Alex

それぞれを個別に変更する代わりに、すべてのナビゲーションバースタイルを変更する簡単な方法があります。

[[UINavigationBar appearance] setBarStyle:UIBarStyleBlack];

このコードを初期ビューの1つに設定するだけです。これにより、追加のナビゲーションコントローラーと構成ナビゲーションコントローラー(追加のナビゲーションコントローラーで[編集]をクリックすると表示される)は異なるスタイルになります。

このように、色を変更したり、背景画像を変更したりできます。

お役に立てれば。

7
fabioalmeida

次のように、Configure NavBarの色を変更できました。

  1. UITabBarControllerから継承する新しいクラスを作成します。
  2. このメソッドを実装します。

    -(void)beginCustomizingTabBar:(id)sender
    {
        [super beginCustomizingTabBar:sender];
    
        // Get the new view inserted by the method called above
        id modalViewCtrl = [[[self view] subviews] objectAtIndex:1];
    
        if([modalViewCtrl isKindOfClass:NSClassFromString(@"UITabBarCustomizeView")] == YES)
        {
            UINavigationBar* navBar = [[modalViewCtrl subviews] objectAtIndex:0];
    
            [navBar setBarStyle:UIBarStyleBlackTranslucent];
            [navBar setTranslucent:YES];
        }
    }
    
3
Eisen Montalvo

User486217によって与えられた答えを基にして、これはさらに防御的にコード化されるかもしれません:

 id modalViewCtrl = [controller.view.subviews objectAtIndex:1]; 
 if([modalViewCtrl isKindOfClass:NSClassFromStrin(@ "UITabBarCustomizeView")] == YES){
 id navigationBar = [[modalViewCtrl subviews] objectAtIndex:0]; 
 if([ navigationBar isKindOfClass:[UINavigationBar class]]){
((UINavigationBar *)navigationBar).tintColor = [UIColor redColor]; 
} 
}} 
2
diadyne

標準色(グレー、ブラック、ホワイト)を探している場合は、xCode 5内でこれらの値を設定できます。ViewController全体を選択し、属性インスペクターを選択します。属性の下にある「トップバー」の隣にドロップダウンがあります。そこで、ナビゲーションバーコントローラの色と不透明度のさまざまな設定を選択できます。

以下にいくつかのスクリーンショットを示します。お役に立てれば!

enter image description here

enter image description here

1
preynolds