Ajouter un sélecteur personnalisé à un UIBarButtonItem

Je suis un débutant iOS. J'ai un button de barre de navigation qui, lorsque cliqué, devrait exécuter une fonction de mon choix. Quelle est la meilleure façon de le faire?

UIBarButtonItem *doneBarButtonItem=[[UIBarButtonItem alloc] init]; doneBarButtonItem.title=@"Done"; self.navigationItem.rightBarButtonItem = doneBarButtonItem; [doneBarButtonItem release]; 

Une façon consiste à init avec la cible et l'action:

 UIBarButtonItem *buttonHello = [[UIBarButtonItem alloc] initWithTitle:@"Say Hello" style:UIBarButtonItemStyleBordered target:self action:@selector(sayHello:)]; 

Une autre méthode consiste à définir la cible et l'action après l'avoir créée

 [buttonHello setTarget:self]; [buttonHello setAction:@selector(sayHello:)]; 

La cible est l'instance de l'object qui sera appelée. Dans le cas de soi, la méthode sera sur cette instance de l'object.

L'action est la méthode qui sera appelée. Typiquement, vous le décorez avec IBAction pour indiquer au concepteur que c'est une action. Il comstack pour annuler.

 - (IBAction)sayHello:(id)sender { // code here } 

Vous pouvez utiliser différents appels init, répertoriés dans la section Méthodes d'instance ici:

http://developer.apple.com/library/ios/#documentation/uikit/reference/UIBarButtonItem_Class/Reference/Reference.html

 - (id)initWithBarButtonSystemItem:(UIBarButtonSystemItem)systemItem target:(id)target action:(SEL)action - (id)initWithCustomView:(UIView *)customView - (id)initWithImage:(UIImage *)image style:(UIBarButtonItemStyle)style target:(id)target action:(SEL)action - (id)initWithTitle:(NSSsortingng *)title style:(UIBarButtonItemStyle)style target:(id)target action:(SEL)action 

En outre, vous pouvez consulter un exemple d'utilisation ici:

Comment définir la cible et l'action pour UIBarButtonItem à l'exécution

J'espère que cela t'aides!