Estoy creando una aplicación de iPhone y me gustaría mostrar un logotipo en la posición de mi barra de navegación. He hecho una subclase de UINavigationController, y añadió la siguiente línea en viewDidLoad:vista de título en la barra de navegación no visible en las vistas después de los segmentos
self.navigationBar.topItem.titleView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"titlelogo.png"]];
(esto puede parecer una pérdida de sólo una línea, pero lo estoy usando en varios lugares y no quiero para usar [apariencia UINavigationBar] por varias razones)
Esto funciona bien para el hijo inmediato del controlador de navegación - Veo el logo. Sin embargo, cuando pulso segue a otra vista, el logotipo no se transfiere, aunque son (a mi leal saber y entender) parte del "mismo" controlador de navegación.
(para referencia) -> MyNavigationController -> SomeViewController -> SomeOtherViewController
también he tratado de entrar en el viewDidLoad de SomeOtherViewController con un:
self.navigationController.navigationBar.topItem.titleView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"titlelogo.png"]];
Esto todavía no muestra el logotipo.
Después de algún hurgando, he descubierto que si 1) no tengo esa línea en viewDidLoad del navigationcontroller y 2) que tienen la segunda línea en viewDidLoad del SomeOtherViewController, entonces:
de inicio: Viendo el SomeViewController . Sin logo. Haga clic para presionar segue: el logotipo ahora aparece en la barra de SomeViewController, antes de desaparecer. Ahora estoy viendo SomeOtherViewController: que no tiene logotipo. Haga clic en Atrás: la barra de navegación de SomeViewController todavía tiene el logotipo.
Obviamente no entiendo bien cómo funciona un controlador de navegación. ¿Alguien puede decirme cómo arreglar esto?