2009-09-10 23 views
31

削除死んImageShackのリンクタブバーの設定メニューのナビゲーションバーの色を設定する方法

私は変更する必要があるビューがタブバーの順序をカスタマイズするには提供されるビューで見ることができるように。ナビゲーションバーの色を変更したいのですが( "Configure"を意味する "Konfigurieren"と表示されています)、 "More" -Navigation Controllerの色を変更する方法は既に知っています。誰も私に助けてくれますか?

+0

うん。私もそれを知りたいです。私は数日間これを試しましたが、動作させることができませんでした.. – Jake

+0

あなたの画像のリンクが壊れているように見えるので、本当に見ることはできません。元のイメージがまだ残っている場合は、stack.imgurに再アップロードするか、質問を編集してイメージなしで動作させるようにしてください。ありがとう。 –

答えて

15

使用int型AppDelegate

tabBarController.moreNavigationController.navigationBar.tintColor = [UIColor blackColor]; 
+8

私は、この回答が受け入れられた理由を知らない:それは "More"タブのナビゲーションバー(質問者がすでに達成したと言った)の色合いを変更するだけで、 "Customize"モーダルビューコントローラのものは変更しない。 user486217の答えは、求められた正しいことを行います。 –

20

私は何を探していることは、この(あなたはナビゲーションコントローラを作成するとき、一般的にアプリのデリゲートで、行うには)あると思う:

UINavigationController *navigationController; 
... 
navigationController.navigationBar.tintColor = [UIColor blackColor]; 
14

その確かつもり作業! :-)

self.navigationController.navigationBar.tintColor = [UIColor blackColor]; 
+2

シンプルだが素晴らしい答え!ありがとう。 – Will

+0

はいbro..itsits魅力的な作品... –

3

私はこのような設定ナビゲーションバーの色を変更することができました:

  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]; 
        } 
    } 
    
12

は(タブバーのデリゲートでの使用)簡単に指定できます。

- (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]; 
} 
2

ビル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]; 
    } 
}} 
7

それぞれを個別に変更するのではなく、すべてのナビゲーションバースタイルを変更する簡単な方法です。

[[UINavigationBar appearance] setBarStyle:UIBarStyleBlack]; 

このコードを最初のビューの1つに設定するだけです。これにより、あなたのより多くのナビゲーションコントローラと(より多くのナビゲーションコントローラで "編集"をクリックした後に現れる)コンフィギュレーションナビゲーションコントローラは異なるスタイルを得る。

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

これが役に立ちます。

1

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

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

enter image description here

enter image description here

関連する問題