pour l'application Nouvelles Fox on dirait qu'ils ju st définir la couleur de la teinte de la barre de navigation. En ce qui concerne le logo de Fox News, il s'agit probablement d'une vue d'image sur la vue du titre de la barre de navigation. Ce code va dans une méthode de contrôleur de vue viewDidLoad
:
[self.navigationController.navigationBar setTintColor:/* Custom color here */];
UIImageView *logoView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"logo"]];
[self.navigationItem setTitleView:logoView];
[logoView release];
Pour personnaliser le bouton de retour que vous devez placer dans la méthode viewDidLoad
du contrôleur de vue précédente (celui que ce bouton ramène à):
UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:@"Shows"
style:UIBarButtonItemStyleBordered target:nil action:nil];
[self.navigationItem setBackBarButtonItem:backButton];
[backButton release];
Si vous souhaitez utiliser une image d'arrière-plan totalement personnalisé pour la barre de navigation de votre application, vous devez créer une catégorie personnalisée UINavigationBar
et dessiner l'image dans sa méthode drawRect:
. Quelque chose comme ceci:
@implementation UINavigationBar (UINavigationBarBackgroundImage)
- (void)drawRect:(CGRect)rect
{
[[UIImage imageNamed:@"navigation-bar"] drawInRect:rect];
// Optionally you can set the tintColor here to go with the background
}
@end
J'ai essayé ceci, mais l'image ne s'anime pas quand la barre de navigation est animée (quand une nouvelle vue est poussée ou sautée). – Shameem
@sleepy: Cela est dû au fonctionnement de 'UINavigationBar'. C'est parfaitement normal. Si vous voulez toujours l'animer, je ne sais pas comment. – BoltClock