Question

J'ai un bouton nommé début et je veux savoir dans la méthode qu'il appelle ce qu'il nom est et je ne suis pas vraiment sûr comment le faire. Ceci est la méthode des appels bouton.

-(IBAction) startMotion: (id)sender {
    UIButton * buttonName = (UIButton *) sender;
    NSLog(@"Button Name:  %@", buttonName.currentTitle);
}

Les impressions NSLog

  

Bouton Nom: (null)

Était-ce utile?

La solution 3

J'utilisais la mauvaise propriété Interface Builder.I était en utilisant la propriété de nom de bouton dans Interface Builder au lieu de la propriété titre des paramètres du bouton.

Autres conseils

Vous pouvez définir le titre du bouton par

[b setTitle:@"Start" forState:UIControlStateNormal];

et pour obtenir le titre (currentTitle est en lecture seule et peut être nul):

[b currentTitle];

BTW, si vous voulez juste de différencier plusieurs boutons, vous pouvez simplement définir la propriété d'étiquette (une valeur entière) des boutons.

En outre, vérifiez si vous avez le bouton spécifié comme IBOutlet dans votre classe viewController, et est-il correctement connecté comme une sortie dans Interface Builder?

Je préférerais définir une certaine Tag et comparer la valeur de l'étiquette plutôt que de lire le titre du bouton puisque vous avez la possibilité de localiser votre application où les titres de bouton sera peut-être différent.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top