L'obtention du titre de UIButton dans le gestionnaire d'événements
J'ai créer un bouton et réglez titre comme "Cliquez ici". Lorsque j'appuie sur le bouton je veux obtenir que le titre du bouton et de l'enregistrer. Voici mon code, où vais-je tort?
-(void)clicketbutton {
UIButton *mybutton = [UIButton buttonWithType:UIButtonTypeCustom];
[mybutton setTitle:@"Click here" forState:UIControlStateNormal];
[mybutton addTarget:self
action:@selector(displayvalue:)forControlEvents:UIControlEventTouchUpInside];
}
-(void)displayvalue:(id)sender {
UIButton *resultebutton= [UIButton buttonWithType:UIButtonTypeCustom];
resultebutton=sender;//pls clear here.. my question here , it it possible or not. if possible how ?
NSLog(@" The buttontitile is %@ ", [resultebutton.Title] //here also.
}
Vous devez vous connecter pour publier un commentaire.
Votre displayvalue: méthode devrait ressembler à quelque chose comme ceci:
(S'il vous plaît consulter la documentation dans XCode, il aurait donné la bonne réponse.)
Je sais que c'est un peu une vieille question, mais c'est probablement la plus élégante façon de résoudre celui-ci.
Modifier
J'ai juste compris que c'est en fonction du fait que vous avez réglé le paramètre de réception à
UIButton*
. Plutôt que d'utiliser la valeur par défautid
, la création d'unUIButton
objet et le casting(id)sender
à ce bouton. Couper l'homme du milieu et il suffit de régler la fonction de signature àC'est effectivement casting le paramètre de la fonction
mybutton
doit être une variable d'instance, mais alors vous devez également affecter le bouton de la variable d'instance dans-clicketbutton
- actuellement cette méthode est d'utiliser une variable locale. En d'autres termes,mybutton
représente différentes choses dans vos deux méthodes.myButton
variable est hors de portée de la displayValue: fonction. Ce serait, cependant, si ils ont utilisésender
que le récepteur plutôt quemyButton