ho trovato il modo duro cheQual è la differenza tra navigationController.navigationBarHidden e navigationController.navigationBar.hidden?
navigationController.navigationBarHidden = NO;
e
navigationController.navigationBar.hidden = NO;
non sono la stessa cosa. Infatti, se uso la prima sintassi per nascondere la barra di navigazione, non posso usare la seconda sintassi per mostrarla: semplicemente non farà nulla. Inoltre, la prima sintassi per mostrare/nascondere la barra di navigazione funziona sempre per me, mentre la seconda sintassi funziona alcune volte, ma non sempre. Non sono stato in grado di determinare esattamente quando avrebbe funzionato e quando no.
Dato che ero bloccato a correggere il codice di qualcun altro (un'applicazione ragionevolmente grande: oltre 20 UIViewControllers), ho dovuto effettuare una ricerca globale per navigationBar.hidden
e sostituirla con navigationBarHidden
. Successivamente, ho dovuto effettuare una ricerca globale per navigationBar setHidden:
e sostituirla con la sintassi navigationBarHidden
. Questo alla fine ha risolto il problema.
Eppure, voglio capire perché sono fornite le due diverse opzioni e qual è la vera differenza tra loro.
Ok, inizia a dare un senso. Ciò significa che non dovrei usare direttamente 'navigationBar.hidden', ma usare' navigationBarHidden' invece - giusto? –
sì, questo sembra essere il caso, dal momento che hai una proprietà esplicita che nasconde e mostra la navBar –
@AleksG leggi la risposta aggiornata –