Question

Dans le délégué de l'application dans mon application, j'appelle la méthode suivante:

- (void)customizeAppearance 
{
    UIImage *gradientPortrait = [[UIImage imageNamed:@"gradient_portrait"] 
        resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0, 0, 0)];

    UIImage *gradientLandscape = [[UIImage imageNamed:@"gradient_landscape"] 
        resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0, 0, 0)];

    [[UINavigationBar appearance] setBackgroundImage:gradientPortrait 
        forBarMetrics:UIBarMetricsDefault];
    [[UINavigationBar appearance] setBackgroundImage:gradientLandscape 
        forBarMetrics:UIBarMetricsLandscapePhone];
}

Ce code permet de personnaliser toutes les barres de navigation dans l'application. Chaque barre devient verte car l'image que j'utilise est verte.

Maintenant, mon objectif est d'obtenir la configuration ci-dessus pour une barre de navigation spécifique. En particulier, pendant le cycle de vie de l'application, j'ouvre un contrôleur modal en utilisant UIModalPresentationFormSheet Style de présentation. Ce contrôleur est présenté dans un UINavigationController. Puisque je dois également afficher la barre de navigation jointe avec cela UINavigationController, Je voudrais savoir comment il est possible de personnaliser cette barre, sans modifier la configuration globale que j'ai définie dans le délégué de l'application.

J'ai essayé de définir les deux tintColor propriété de la barre de navigation (présentée modalement) à [UIColor blackColor] et le barStyle à UIBarStyleBlack, mais ils ne fonctionnent pas. Seuls les articles Barbutton sont affectés.

Merci en avance.

Ps J'utilise iOS 5

Pas de solution correcte

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