In un'applicazione iOS, come è possibile determinare se viene visualizzato un pulsante Indietro? Idealmente, mi piacerebbe sapere questo nel metodo loadView
del mio controller.Come posso determinare se viene visualizzato un pulsante Indietro?
Ecco quello che ho provato in loadView
, viewDidLoad
, e viewWillAppear
:
if (self.navigationItem.backBarButtonItem)
e questo:
if (self.navigationItem.leftBarButtonItem)
Nessuno di questi lavori - sono sempre pari a zero (l'espressione restituisce false), anche quando sullo schermo è presente un pulsante indietro. Quello che alla fine vorrei fare è impostare un pulsante Annulla come self.navigationItem.leftBarButtonItem
, ma solo se non c'è alcun pulsante Indietro. Se è presente un pulsante Indietro, non è necessario il pulsante Annulla. Così com'è, l'impostazione di leftBarButtonItem
sta ignorando il pulsante Indietro, quindi stiamo vedendo un pulsante Annulla tutto il tempo, anche quando dovrebbe esserci un pulsante indietro.
Grazie per la risposta. Ho appena provato entrambe le mie affermazioni "se" dalla domanda in viewWillAppear e ottengo gli stessi risultati: sono sempre sempre nulle e quindi non mi dicono cosa voglio sapere. –
Assicurarsi che 'self.navigationItem' non sia' nil'. L'ultima cosa che potrebbe applicarsi è 'viewDidAppear'. Se non lo vedi lì, non ottieni l'oggetto giusto. –
Grazie ancora. Ho verificato che 'self.navigationItem' non è nullo. Ho provato questo in 'viewDidAppear' e sto ancora ottenendo gli stessi risultati. –