2009-09-10 9 views
31

entfernt tot Images LinkWie die Navigationsleiste Farbe der Tableiste Configure Menü

einstellen Wenn Sie die Ansicht, die ich ändern müssen sehen kann, ist die bereitgestellte Ansicht, welche die Tabbar um anzupassen. Ich möchte die Farbe der Navigationsleiste ändern (Anzeige "Konfigurieren", was "Konfigurieren" bedeutet), ich habe bereits herausgefunden, wie man die Farbe des "Mehr" -Navigations-Controllers ändert, aber nicht diese. Kann mir jemand dabei helfen?

+0

Ja. Das würde ich auch gerne wissen. Ich habe das mehrere Tage versucht, aber ich konnte es nicht zur Arbeit bringen. – Jake

+0

Wir können nicht sehen, wirklich, da Ihr Bildlink scheint gebrochen zu sein. Wenn Sie immer noch das Originalbild haben, laden Sie es bitte erneut auf stack.imgur hoch oder bearbeiten Sie einfach Ihre Frage, damit es ohne das Bild funktioniert. Vielen Dank. –

Antwort

15

Verwendung int AppDelegate

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

Ich weiß nicht, warum diese Antwort akzeptiert wurde: Sie ändert nur die Tönungsfarbe der Navigationsleiste der "Mehr" -Registerkarte (die der Frageautor sagte, dass sie bereits erreicht wurde), aber nicht die vom Modalansicht-Controller "Anpassen". Die Antwort von user486217 erledigt das Richtige, nach dem gefragt wurde. –

20

Ich denke, was Sie suchen ist dies (zu tun, wenn Sie Ihren Navigationscontroller erstellen, in der Regel in AppDelegate):

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

Sein Sicherlich würde Arbeit!

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

Einfache, aber gute Antwort! Vielen Dank. – Will

+0

Ja bro..its funktioniert wie charmant ... –

3

Ich war in der Lage, die Farbe des Configure NavBar wie folgt zu ändern:

  1. eine neue Klasse erstellen, die von UITabBarController erbt.
  2. Implementieren Sie diese Methode:

    -(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

Kann einfacher sein (Verwendung in Tableiste Delegat):

- (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

Gebäude aus der Antwort von user486217, kann dies sogar mehr sein defensiv codiert:

 
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

Es gibt ein einfache Möglichkeit, alle Navigationsleistenstile zu ändern, anstatt sie einzeln zu ändern.

[[UINavigationBar appearance] setBarStyle:UIBarStyleBlack]; 

Setzen Sie diesen Code in einer Ihrer ersten Ansichten. Damit erhalten Ihr Navigationscontroller und der Konfigurationsnavigationscontroller (der nach dem Klicken auf "Bearbeiten" in einem weiteren Navigationscontroller angezeigt wird) einen anderen Stil.

So können Sie die Farbe ändern oder das Hintergrundbild ändern.

Hoffe, das hilft.

1

Wenn Sie nach den Standardfarben (Grau, Schwarz, Weiß) suchen, können Sie diese Werte in xCode 5 festlegen. Wählen Sie den gesamten Ansichtscontroller aus, und wählen Sie den Attributinspektor aus. Unter den Attributen finden Sie ein Drop-Down neben "Top Bar". Dort können Sie verschiedene Einstellungen für Farbe und Deckkraft für den Navigationsleisten-Controller auswählen.

Im Folgenden finden Sie einige Screenshots. Hoffe das hilft!

enter image description here

enter image description here

Verwandte Themen