Prima di tutto, Ho visto tutte le risposte a How to make UINavigationBar Transparent in IOS 8?Transparent UINavigationBar e Make UINavigationBar transparent.Come rendere trasparente UINavigationBar?
Semplicemente non sembrano funzionare per me.
mio normale controller della vista (prima di provare a rendere la barra di navigazione trasparente) non ha problemi:
che sto usando (provato sia in viewDidLoad
e viewWillAppear:
):
[self.navigationController.navigationBar setBackgroundImage:[UIImage new]
forBarMetrics:UIBarMetricsDefault];
self.navigationController.navigationBar.shadowImage = [UIImage new];
self.navigationController.navigationBar.translucent = YES;
self.navigationController.view.backgroundColor = [UIColor clearColor];
sto ottenendo questo:
Sfondo barra di stato grigio, barra di navigazione completamente bianca che non si fonde con la barra di stato, quindi viene avviata la visualizzazione. Tutte le "soluzioni" alle altre "risposte" delle domande producono lo stesso risultato per me.
Ho anche provato a impostare self.edgesForExtendedLayout = UIRectEdgeNone;
o self.edgesForExtendedLayout = UIRectEdgeAll;
ma anche questo non ha avuto alcun impatto.
Come posso rendere trasparente la barra di navigazione senza rovinare tutto?
UPDATE: seguito la risposta di Warif Akhand Rishi, ho cambiato self.navigationController.view.backgroundColor = [UIColor clearColor];
-self.navigationController.navigationBar.backgroundColor = [UIColor clearColor];
, ora sto ottenendo un grigio, unificata Stato/barra di navigazione, ma ancora non trasparente:
AGGIORNAMENTO 2: Ho collegato il debugger della vista e lo sfondo grigio sembra provenire dal profondo delle radici della gerarchia della vista e il contenuto della mia vista non si sta estendendo. Ho provato self.edgesForExtendedLayout = UIRectEdgeAll;
di nuovo con il codice più recente, ma ancora senza alcun risultato:
come si nasconde la barra di stato? –
Nella tua vista controller stai estendendo i bordi sotto le barre in alto? – beyowulf
@SamB Non voglio nascondere la barra di stato. –