web-dev-qa-db-fra.com

Comment définir la couleur de la barre de navigation du menu de configuration de la barre d'onglets

lien ImageShack mort supprimé

Comme vous pouvez le voir, la vue que je dois modifier est la vue fournie pour personnaliser l'ordre de la barre de tabulation. Je veux changer la couleur de la barre de navigation (affichant "Konfigurieren" qui signifie "Configurer"), j'ai déjà découvert comment changer la couleur du "More" -Navigation Controller, mais pas celui-ci. Quelqu'un peut-il m'aider avec ça?

31
gabtub

Utiliser int AppDelegate

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

Je pense que ce que vous recherchez est le suivant (à faire lorsque vous créez votre contrôleur de navigation, généralement dans votre délégué d'application):

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

Ça va sûrement marcher! :-)

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

Peut être plus facile (à utiliser dans la barre d'onglets déléguée):

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

Il existe un moyen simple de modifier tous les styles de barre de navigation au lieu de les modifier séparément.

[[UINavigationBar appearance] setBarStyle:UIBarStyleBlack];

Définissez simplement ce code dans l'une de vos vues initiales. Avec cela, votre contrôleur de navigation plus et le contrôleur de navigation de configuration (qui apparaît après avoir cliqué sur "Modifier" dans plus de contrôleur de navigation) obtiennent un style différent.

Comme cela, vous pouvez changer sa couleur en une autre ou changer l'image d'arrière-plan.

J'espère que cela t'aides.

7
fabioalmeida

J'ai pu changer la couleur du Configure NavBar comme ceci:

  1. Créez une nouvelle classe qui hérite de UITabBarController.
  2. Implémentez cette méthode:

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

À partir de la réponse donnée par user486217, cela peut être codé encore plus défensivement:

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

Si vous recherchez les couleurs standard (gris, noir, blanc), vous pouvez définir ces valeurs dans xCode 5. Sélectionnez l'intégralité du contrôleur de vue, puis l'inspecteur d'attributs. Sous les attributs, vous trouverez une liste déroulante à côté de "Barre supérieure". Là, vous pouvez sélectionner divers paramètres de couleur et d'opacité pour le contrôleur de la barre de navigation.

Voici quelques captures d'écran. J'espère que cela t'aides!

enter image description here

enter image description here

1
preynolds