Frage

entfernt tot Images Link

Wie Sie die Ansicht sehen kann ich ändern müssen, ist die bereitgestellte Ansicht, welche die Tabbar um anzupassen. Ich mag die Farbe der Navigationsleiste ändern (Anzeige „Konfigurieren“, die „Configure“ bedeutet), fand ich schon, wie die Farbe der „Mehr“ -Navigation Controller zu ändern, aber nicht diese. Kann jemand helfen mit, dass mir?

War es hilfreich?

Lösung

Mit int AppDelegate

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

Andere Tipps

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

Es ist sicherlich gonna Arbeit! :-)

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

Kann einfacher sein (Verwendung in Tableiste Delegaten):

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

Es gibt eine einfache Möglichkeit, alle Navigationsleisten Arten zu ändern, anstatt diese einzeln zu ändern.

[[UINavigationBar appearance] setBarStyle:UIBarStyleBlack];

Setzen Sie einfach diesen Code in einem Ihrem ersten Blick. Damit Ihr mehr Navigation-Controller und die Konfiguration Navigation-Controller (die nach dem Klick auf „Bearbeiten“ in mehr Navigationssteuerung erscheint) einen anderen Stil.

Wie dies Sie können seine Farbe zu einem anderen ändern oder das Hintergrundbild ändern.

Hope, das hilft.

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

  1. Erstellen Sie eine neue Klasse, 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];
        }
    }
    

Gebäude weg von user486217 gegeben von der Antwort, kann dies sogar noch mehr defensiv gekennzeichnet:

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

Wenn Sie für die Standardfarben (Grau, Schwarz, Weiß) suchen, können Sie diese Werte innerhalb xCode einstellen 5. die gesamten View-Controller auswählen, und wählen Sie das Attribut Inspektoren. Unter den Attributen finden Sie ein Drop-down-Menü neben „Top Bar“. Dort können Sie verschiedene Einstellungen für Farbe und Transparenz für die Navigationsleiste Controller auswählen.

unten Beschriebenen sind ein paar Screenshots. Hoffe, das hilft!

eingeben Bild Beschreibung hier

eingeben Bild Beschreibung hier

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top