2010-11-29 6 views
0

Quelqu'un peut-il me dire que Comment obtenir un tag d'une UIButton quand je clique dessus ...Comment obtenir une étiquette de UIButton cliqué sans IB?

J'ai fait 5 boutons de balise ayant 1,2,3,4 & 5 resp. (Tous appellent même méthode getTag)

et moi avons essayé les moyens suivants pour cette méthode

- Methgod-1

- (void) {getTag // Je sais que cela ne marchera jamais }

- Methgod-2

- (void) getTag: (id) {expéditeur // Impossible d'accéder à la propriété sender.tag }

- Methgod-3

- (void) getTag: (UIButton *) expéditeur { // Programme se bloque }

Je n'utilise pas IB s'il vous plaît h ELP .....

Répondre

2

deux méthode 2 et -3 peut être correct - dans la méthode 2 il vous suffit de jeter à l'expéditeur UIButton explicitement, par exemple:

-(void)getTag:(id)sender{ 
    UIButton *btn = (UIButton*)sender; 
    switch (btn.tag){ 
    ... 
    } 
} 

Raison possible pourquoi la méthode 1 fonctionne et 2 et 3 n'est pas le mauvais sélecteur que vous attribuez à votre action de bouton. Pour la méthode 1, il devrait être

@selector(getTag) 

Pour la deuxième

@selector(getTag:); // NOte ':' in selector which denotes that method gets 1 parameter 
+0

+ 1-- thanks for ans – Saawan

0
UIButton * myB = [[UIButton alloc]init]; 

myB.tag = 2; 

NSLog(@"TAG=%i",myB.tag); 

//OUTPUT: 'TAG=2' 
+0

s'il vous plaît lire la question à nouveau – Saawan

+0

Désolé, je pensais qu'il était assez intuitif l'identifiant de l'expéditeur est l'objet du bouton. –

1

Utilisez la méthode 2 et le code comme suit,

UIButton *button = (UIButton *)sender; 



button.tag; 
Questions connexes