2011-08-03 23 views
11

empujo un controlador de vista sobre un controlador de navegación así:¿Por qué self.navigationItem.backBarButtonItem siempre es nulo?

[self.navigationController pushViewController:anotherViewController animated:YES]; 

Y, a continuación, en el interior anotherViewController verifico self.navigationItem.BackBarButtonItem y LeftBarButtonItem, pero siempre son nulas.

Puedo ver el backBarButtonItem, y parece funcionar bien.

+0

Asegúrese de que sólo intenta leer '' backBarButtonItem' etc después viewDidAppear' .. viewWillAppear' en '/' viewDidLoad'/'init..' el controlador de navegación no habrá configurado aún el botón Atrás, porque la vista no se ha insertado completamente en la pila de navegación. – darvids0n

Respuesta

5

De la documentación: "Cuando este elemento es el elemento posterior de la barra de navegación, cuando es el siguiente elemento debajo del elemento superior, se puede representar como un botón Atrás en la barra de navegación. Utilice esta propiedad para especifique el botón Atrás. El objetivo y la acción del elemento del botón de la barra posterior que estableció deben ser nulos. El valor predeterminado es un elemento de botón de barra que muestra el título del elemento de navegación ".

Supongo que es una convención que siempre sea nula, y que el valor predeterminado es siempre nulo.

Un tema similar sobre self.navigationItem.backBarButtonItem siendo nula se discutió aquí: Changing the UIBackButtonItem title

+0

Creo que eso es correcto. El elemento de la barra posterior no será nulo si lo siento manualmente. Estaba revisando para ver si existía el botón Atrás, porque si está allí, no quiero sobrescribirlo con otro botón. Terminé probando el índice seleccionado de la barra de pestañas si estoy en el controlador de más vistas. – Michael

Cuestiones relacionadas