Question

Suppression du lien ImageShack mort

Comme vous pouvez le voir, la vue que je dois changer est la vue fournie pour personnaliser l’ordre des barres de tabulation. Je souhaite modifier la couleur de la barre de navigation (en affichant "Konfigurieren", ce qui signifie "Configurer"). J'ai déjà découvert comment modifier la couleur du contrôleur de navigation "Plus", mais pas celui-ci. Quelqu'un peut-il m'aider avec ça?

Était-ce utile?

La solution

Utiliser int AppDelegate

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

Autres conseils

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

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

Ca va sûrement marcher! :-)

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

Peut être plus simple (utiliser dans le délégué de la barre d'onglets):

- (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 la barre de navigation au lieu de les modifier séparément.

[[UINavigationBar appearance] setBarStyle:UIBarStyleBlack];

Il suffit de définir ce code dans l’une de vos vues initiales. Ainsi, votre nouveau contrôleur de navigation et le contrôleur de navigation de configuration (qui apparaît après avoir cliqué sur "Modifier" dans davantage de contrôleur de navigation) ont un style différent.

Comme ceci, vous pouvez changer sa couleur en une autre ou changer l’image de fond.

J'espère que cela vous aidera.

J'ai pu modifier la couleur de la barre de configuration de la manière suivante:

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

En partant de la réponse donnée par user486217, cela pourrait être encore plus codé de manière défensive:

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

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 sélectionnez l'inspecteur d'attributs. Sous les attributs, vous trouverez une liste déroulante à côté de "Barre supérieure". Vous pouvez y sélectionner différents paramètres de couleur et d’opacité pour le contrôleur de la barre de navigation.

Vous trouverez ci-dessous quelques captures d'écran. J'espère que cela aide!

entrer la description de l'image ici

entrer la description de l'image ici

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top