2010-09-17 7 views
4

J'ai besoin de deux boutons sur le côté gauche d'une barre de navigation. La seule façon dont j'ai compris comment faire est de les placer d'abord dans un UIToolbar et de définir ensuite le leftBarButtonItem à cela.UIBarButtonItem ne se met pas en surbrillance lorsqu'il est tapé dans une barre d'outils?

Si je fais cela fonctionne normalement (vous pouvez le voir mettre en évidence quand on tape):

UIBarButtonItem* myBtn = [[UIBarButtonItem alloc] initWithTitle:@"Button" style:UIBarButtonItemStyleBordered target:self action:@selector(doSomething:)]; 

self.navigationItem.leftBarButtonItem = myBtn; 

Mais si je le fais comme ça, l'action du bouton arrive encore, mais il n'y a pas fort (pas visuel commentaires que vous tapez sur le bouton):

NSMutableArray* buttons = [[NSMutableArray alloc] initWithCapacity:2]; 

UIBarButtonItem* myBtn = [[UIBarButtonItem alloc] initWithTitle:@"Button" style:UIBarButtonItemStyleBordered target:self action:@selector(doSomething:)]; 

UIBarButtonItem* myBtn2 = [[UIBarButtonItem alloc] initWithTitle:@"Button2" style:UIBarButtonItemStyleBordered target:self action:@selector(doSomethingElse:)]; 

[buttons addObject:myBtn]; 
[buttons addObject:myBtn2]; 

UIToolbar* toolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 133, 44)]; 
[toolbar setItems:buttons animated:NO]; 
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:toolbar]; 

Toute idée pourquoi cela provoque les boutons de ne pas mettre en évidence quand ils sont touchés?

Répondre

0

Je ne pense pas que l'objet UIBarButtonItem sera mis en évidence lors de la retouche. Même pour le bouton de retour par défaut dans la barre de navigation dosent surligner lorsque vous le retouchez. Cela fonctionne de cette manière seulement. Pas sûr, mais vous pouvez essayer d'utiliser UISegmentedControl avec le segment unique. Cela pourrait créer l'illusion surlignée et ressemblerait à un barbutton seulement.

Questions connexes