0

Je remplace UINavigationController pour remplacer la propriété navigationBar par défaut avec une instance de ma propre sous-classe UINavigationBar. J'ai donc essayé quelque chose commeMeilleur point pour remplacer la propriété navigationBar de navigationController

_navigationBar = [[SBNavigationBar alloc] init]; 

dans mon -initWithRootViewController:. Mais cela n'a pas fonctionné comme je m'y attendais. Il reste le navigationBar par défaut affiché.

Quel est le meilleur point pour remplacer le navigationBar?

Merci à l'avance
-f

+0

a fait mon aide de réponse? – jd291

Répondre

1

Si vous consultez la documentation http://developer.apple.com/iphone/library/documentation/uikit/reference/UINavigationController_Class/Reference/Reference.html, vous verrez que la navigationBar propriété est en lecture seule.

Pour avoir un navigationBar personnalisé, vous pouvez utiliser des catégories par exemple. Vous trouverez beaucoup de questions en répondant ici à stackoverflow.

Une version simple est de mettre une image en drawRect: comme si ...

@implementation UINavigationBar (Custom) 

- (void)drawRect:(CGRect)rect { 
    UIImage *image = [UIImage imageNamed: @"bg_toolbar.png"]; 
    [image drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)]; 
} 

@end 
+0

+1 pour la bonne réponse .... – Sabby

Questions connexes