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?
Utiliser int AppDelegate
tabBarController.moreNavigationController.navigationBar.tintColor = [UIColor blackColor];
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];
Ça va sûrement marcher! :-)
self.navigationController.navigationBar.tintColor = [UIColor blackColor];
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];
}
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.
J'ai pu changer la couleur du Configure NavBar comme ceci:
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];
}
}
À 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]; } }}
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!