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 ;-)