2009-09-14 6 views
2

J'ai 4 bouton (b1, b2, b3, b4) et une étiquette (lab). Maintenant je veux afficher le titre du bouton dans l'étiquette quand un bouton particulier est pressé. Je l'ai fait avec quatre (IBAction) méthode un pour chaque bouton. Mais je veux le faire avec 1 méthode (IBAction). Le problème est de savoir comment identifier quel bouton est pressé ??? Je connaissais une méthode quelque chose comme "GetBytitle" méthode.Mais j'ai besoin d'une meilleure solution.Peut-on aider quelqu'un ??? J'ai aussi besoin d'une réponse sur la façon d'identifier le bouton dans le contrôle du segment.Advanced thanx pour la réponse.Comment identifier le bouton presse parmi plusieurs bouton dans l'objectif c

+0

zoul, thax pour votre réponse. Mais je l'ai utilisé avant.Infact, je veux savoir est-il un moyen d'utiliser Outlet pour identifier un bouton particulier? Y at-il un moyen de trouver expéditeur Outlet, puis en utilisant l'émetteur currentTitle ??? – russell

+0

Objectif c ... pour Mac App ou iPhone App? ils courent un peu diferently – balexandre

+0

thanx kevin.blair.Also merci à balexandre. – russell

Répondre

7

Jetez un coup d'oeil dans IB, le champ tag du bouton attributs est peut-être ce que vous cherchez. Définissez chacun des boutons que vous souhaitez détecter avec une valeur de variable entière différente, puis définissez leur IBActions sur la même méthode. Maintenant, vous pouvez vérifier quel bouton a été pressé en vérifiant le champ de l'étiquette dans l'expéditeur

- (IBAction) buttonPressed: (id) sender 
{ 
    switch (((UIButton*)sender).tag){ 

     case 1: 
       <something> 
       break; 
     case 2: 
       <something else> 
       break; 

     default: 
       <default something> 
    } 
} 
3

Le bouton qui déclenche l'action est transmis en tant qu'expéditeur. Votre méthode ressemble probablement un peu comme ceci:

- (IBAction) buttonPressed: (id) sender; 

Le sender est le bouton, de sorte que si vous voulez afficher le titre du bouton dans une étiquette, tout ce que vous avez à faire est la suivante:

- (IBAction) buttonPressed: (id) sender 
{ 
    label.text = [sender currentTitle]; 
} 

Ça devrait être ça.

+0

cette méthode doit être ajoutée à mon fichier viewcontroller.m correct? Si j'ai raison, cela ne fonctionne toujours pas pour moi. – sadmicrowave

Questions connexes