En una aplicación de iOS, ¿cómo puedo determinar si se muestra un botón de retroceso? Idealmente, me gustaría saber esto en el método loadView
de mi controlador.¿Cómo puedo determinar si se muestra un botón de retroceso?
Esto es lo que he probado en loadView
, viewDidLoad
y viewWillAppear
:
if (self.navigationItem.backBarButtonItem)
y esto:
if (self.navigationItem.leftBarButtonItem)
Ninguno de los trabajos - son siempre cero (la expresión se evalúa como falsa), incluso cuando hay un botón Atrás en la pantalla. Lo que en última instancia me gustaría hacer es establecer un botón Cancelar como self.navigationItem.leftBarButtonItem
, pero solo si no hay un botón de retroceso. Si hay un botón Atrás, no necesitamos el botón Cancelar. Tal como está, la configuración del leftBarButtonItem
está anulando el botón Atrás, por lo que estamos viendo un botón Cancelar todo el tiempo, incluso cuando debería haber un botón Atrás.
Gracias por responder. Acabo de probar mis dos afirmaciones 'if' de la pregunta en la mira WillAppear, y estoy obteniendo los mismos resultados; todavía son nulas y, por lo tanto, no me dicen lo que quiero saber. –
Asegúrate de que 'self.navigationItem' no sea' nil'. La última vez que esto podría aplicarse es 'viewDidAppear'. Si no lo ves allí, no estás obteniendo el objeto correcto. –
Gracias de nuevo. He verificado que 'self.navigationItem' no es nulo. Probé esto en 'viewDidAppear' y todavía obtengo los mismos resultados. –