Existe-t-il une méthode tactile pour UILabel?

Je voudrais faire une action si quelqu'un touche un UILabel UILabelUILabel , quelque chose comme:

 if (label is touched) { my actions; } 

Existe-t-il une méthode / moyen de le faire?

Vous pouvez utiliser un outil de reconnaissance de gestes:

 - (void)someSetupMethod { // ... label.userInteractionEnabled = YES; UITapGestureRecognizer *tapGesture = \ [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(didTapLabelWithGesture:)]; [label addGestureRecognizer:tapGesture]; [tapGesture release]; } - (void)didTapLabelWithGesture:(UITapGestureRecognizer *)tapGesture { // ... } 

Par défaut, UILabel n'est pas configuré pour accepter une input tactile. Toutefois, si vous utilisez à la place un UIButton et lui donnez une apparence personnalisée, vous pouvez lui donner l'aspect d'une label (sur une seule ligne) et le faire réagir aux events tactiles.

Vous pouvez le sous-classr et replace les methods tactiles. Vous voulez probablement surcharger touchesEnded:withEvent:

Ou utilisez simplement un UIButton.

Vous devez vous assurer que userinteractionenabled est défini sur YES, puis vous pouvez replace le touchesBegan:withEvent:

Ajoutez juste une catégorie pour UILabel Class et ajoutez votre méthode.