Objetivo-C: imagem de fundo e título na barra de navegação

Na necessidade de uma imagem de fundo e um título na minha barra de navegação. Para a imagem, escrevo uma categoria:

@implementation UINavigationBar(MyNavigationBar)
- (void)setBackgroundImage {
    UIImageView *aTabBarBackground = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"navBarBackgrd.png"]];
    [self addSubview: aTabBarBackground];
    [self sendSubviewToBack: aTabBarBackground];
    [aTabBarBackground release];
}
@end

Eu chamo essa categoria no meu AppDelegate e tenho imagens de plano de fundo em todo o aplicativo:

[navigationController.navigationBar setBackgroundImage]; 

Todo ViewController tem um título:

[self setTitle:@"MyTitle"];

Mas, depois de definir a imagem de fundo, tenho um problema com o título.

Na primeira exibição, todos os trabalhos, vejo a imagem de fundo e o título :-) Mas, na próxima exibição, o título desaparece. Somente a imagem de fundo é visível. Talvez o título esteja abaixo da imagem?

Tecnicamente, é possível mostrar os dois. Com esse truque, funciona:

Ocultar a barra de navegação ANTES de abrir o próximo ViewController:

[self.navigationController setNavigationBarHidden: YES];

Mostre a barra de navegação no próximo ViewController:

[self.navigationController setNavigationBarHidden: NO];

Agora, imagem E título são visíveis, mas esta solução não é a melhor ;-)

questionAnswers(2)

yourAnswerToTheQuestion