2009-07-11 11 views

Répondre

6

Une fois construit, l'identifiant d'un UIBarButtonItem ne peut pas être modifié. Toutefois, l'interface utilisateur peut être modifiée en remplaçant le bouton par une variante construite par programme. Par exemple:

UIBarButtonItem *addButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd 
                      target:self 
                      action:@selector(doAddAction:)]; 
+10

Votre titre pour cet article est trompeur. Cela ne change pas l'identifiant d'un UIBarButtonItem, il en crée simplement un nouveau avec la propriété de l'identifiant initialisée. Je cherche un moyen de modifier l'identifiant sur un bouton existant. Un meilleur titre serait "Définir la propriété d'identifiant d'un UIBarButtonItem nouvellement créé par programme" ou quelque chose de similaire. – Senseful

+2

Je suis désolé que vous ayez trébuché sur ma solution et cela n'a pas vraiment répondu à vos attentes. Au moment de poser la question, je cherchais un moyen de la changer. La solution a fonctionné pour moi - si ce n'était pas pour vous, je suis désolé. – rein

2

Si vous voulez un style un bouton: bordé et identifiant: utilisation caméra

UIBarButtonItem *btn; 
btn = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCamera target:self action:@selector(shotAction:)]; 
btn.style=UIBarButtonItemStyleBordered; 
0

Une fois que le UIBarButtonItem est créé, il n'y a pas moyen de changer l'identifiant. Cependant, vous pouvez créer un nouvel UIBarButtonItem pour remplacer l'ancien UIBarButtonItem

UIBarButtonItem *barButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction 
                   target:self 
                   action:@selector(buttonClickedAction:)]; 

self.navigationItem.rightBarButtonItem = barButton; 
Questions connexes