9
votes

Comment puis-je afficher une image personnalisée dans la barre de navigation Bouton à la place des boutons par défaut qui sont montrés par NAV Bar elle-même

sur la navigation sur une vue sur une application qui a une application de navigation implémentée, il affiche un bouton arrière pour passer à la vue précédente. Existe-t-il une façon d'utiliser une image personnalisée au lieu de la valeur par défaut?


0 commentaires

3 Réponses :


18
votes

Oui, vous pouvez.

Vous pouvez contrôler la manière dont le bouton Standard Retour examinera quand un autre contrôleur d'affichage est poussé sur un contrôleur d'affichage donné en définissant l'élément de la barre arrière de l'élément de navigation (vous pouvez personnaliser le titre ou l'utilisation. une image): p> xxx pré>

note forte>: vous configurez ceci dans un contrôleur de visualisation "parent" qui peut avoir un ou plusieurs contrôleurs d'affichage poussés sur le dessus de celui-ci. La configuration est effectuée dans le "parent" et l'apparence du bouton arrière est modifiée lorsque le contrôleur d'affichage est en haut. Taper le bouton arrière vous ramène comme prévu. P>


Vous pouvez également créer votre propre uibarbuttonitem et le définir comme gauche de la barre de navigation sur le contrôleur de vue actuel: P>

UIBarButtonItem *btn = [[UIBarButtonItem alloc] initWithImage:yourImage style:UIBarButtonItemStyleBordered target:self action:@selector(yourMethod:)];
self.navigationItem.leftBarButtonItem = btn;
[btn release];


0 commentaires

3
votes

J'ai trouvé qu'aucune des solutions n'a réellement résolu l'uibarbutton arrière et a également fourni son comportement caché si le contrôleur d'affichage est root. XXX


0 commentaires

0
votes

Cela fonctionne presque comme un bouton arrière. À l'exception de l'animation de transition (une fois que le bouton est taraudé et la vue actuelle est renversé de la navigation à droite).

Le bon moyen est de créer une catégorie. P>

@interface UINavigationBar (MyNavigationBar)  
-(void)drawRect:(CGRect)rect; 
@end

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


0 commentaires