Comment dessiner un transparent UIToolbar ou UINavigationBar dans iOS7
Je voudrais entièrement transparent UIToolbar
et/ou UINavigationBar
. J'ai essayé les diverses incantations suggéré pour les pré - et post-iOS 5, mais aucun d'entre eux ne fonctionnent plus du tout.
Comment cela peut-il être accompli dans iOS 7?
- Pour la postérité - j'ai été, à tort, à l'aide de l'auto.edgesForExtendedLayout = UIRectEdgeNone, ce qui empêche la vue s'étendant sous la barre d'outils.
InformationsquelleAutor Ben Packard | 2013-09-23
Vous devez vous connecter pour publier un commentaire.
Swift 3 (iOS 10)
Transparent
UIToolbar
Transparent
UINavigationBar
Swift < 3
Transparent
UIToolbar
Transparent
UINavigationBar
Objective-C
Transparent
UIToolbar
Transparent
UINavigationBar
Discussion
Réglage
translucent
àYES
sur la barre de navigation fait le tour, en raison d'un problème présenté dans laUINavigationBar
de la documentation. Je vais rapporter ici les pertinentes de fragment:Résultat Final
iOS 7
simulateurtranslucent
valeur deUIToolbar
àYES
/NO
et il n'a pas d'incidence sur le résultat final. Êtes-vous instantianing la barre d'outils à partir du code ou à l'aide d'un xib/storyboard?UIToolbarPositionAny
au lieu deUIBarPositionAny
pour la transparence de laUIToolbar
?UIBarPosition
depuis iOS 6.1UIToolbarPosition
est juste une macro 2) Alors pourquoi êtes-vous à l'aide de la ligne suivante de code?UIToolbarPosition
est obsolète.Si vous voulez le faire à travers l'ensemble de l'application, vous devez utiliser le UIAppearance proxy (iOS5+):
UINavigationBar *navigationBarAppearance = [UINavigationBar appearance];
navigationBarAppearance.backgroundColor = [UIColor clearColor];
[navigationBarAppearance setBackgroundImage:[[UIImage alloc] init] forBarMetrics:UIBarMetricsDefault];
navigationBarAppearance.shadowImage = [[UIImage alloc] init];
Docs: https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIAppearance_Protocol/Reference/Reference.html
Article: http://nshipster.com/uiappearance/
Essayer:
Quelque chose que je suis tombé sur c'est que si je créé un sous-classé
UINavigationBar
puis créé un vide-(void)drawRect:
méthode, je voudrais obtenir une transparence de la barre de navigation. J'ai uniquement testé dans iOS 7.*, mais il semblait fonctionner!