Comment rendre la barre de navigation transparente dans iOS 7? [dupliquer]

Cette question a déjà une réponse ici:

Existe-t-il un moyen de rendre la barre d'un contrôleur de navigation totalement transparente?

Ce que j'ai essayé:

[self.navigationController.navigationBar setBackgroundColor:[UIColor clearColor]];
[self.navigationController.navigationBar setBarTintColor:[UIColor clearColor]];
[self.navigationController.navigationBar setAlpha:0.0];

mais l'apparence de la barre ne change pas, et reste blanc translucide. J'essaie de voir les objets du bar, mais pas le bar lui-même. Quelqu'un peut me pointer dans la bonne direction? Merci

17
demandé sur user1244109 2013-12-02 05:21:21

2 réponses

si quelqu'un se demande comment réaliser ceci dans iOS 7, Voici une solution (compatible iOS 6 aussi)

[self.navigationBar setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault];
self.navigationBar.shadowImage = [UIImage new];
self.navigationBar.translucent = YES;

mettre translucide à OUI sur la barre de navigation fait l'affaire, en raison d'un comportement discuté dans la documentation UINavigationBar. Je rapporterai ici le fragment pertinent:

si vous définissez cette propriété à OUI sur une barre de navigation avec une image de fond personnalisée opaque, la barre de navigation appliquera une opacité du système inférieure à 1,0 à la image.

Référence: Make UINavigationBar transparent

65
répondu Pradhyuman sinh 2017-05-23 12:18:03

Vous pouvez rendre la barre de Navigation transparente avec le code suivant


[self.navigationBar setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault];
[self.navigationBar setShadowImage:[UIImage new]];
[self.navigationBar setTranslucent:YES];
22
répondu Haresh Ghatala 2013-12-02 05:48:38