2012-10-09 4 views
0

J'ai créé un UIButton et de détecter l'événement tactile par:partielle sur détection contact UIButton

[myButton addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside]; 

Tout fonctionne très bien quand je presse exactement sur le bouton.
Mon problème est que si je presse avec ma partie du doigt sur le bouton et une partie à l'extérieur - L'événement n'est pas détecté.
Y a-t-il un autre événement que je devrais utiliser?
Est-ce que je fais quelque chose de mal ici?

Je suis sûr que les gens diront que vous devez appuyer exactement sur le bouton, mais j'essaie de donner la meilleure expérience utilisateur et résoudre ce problème.
Merci!

Répondre

0

Vous voudrez peut-être agrandir votre bouton, en faisant peut-être une zone transparente autour de votre image.

Ou peut-être utiliser UIControlEventTouchDown/UIControlEventTouchUpOutside au lieu de UIControlEventTouchUpInside?

+0

Si j'élargis le bouton - la surbrillance que j'utilise ne marquera pas correctement la zone du bouton. Les événements que vous avez suggérés n'ont pas aidé ... –

+0

Quel type de surbrillance utilisez-vous? Si vous utilisez une image, assurez-vous que vous définissez l'image (pas l'image d'arrière-plan) de votre instance UIButton. – PatrickNLT

+0

Quoi qu'il en soit, si vous essayez vraiment de donner la meilleure expérience utilisateur, il vous suffit de vous en tenir au comportement par défaut car c'est celui auquel les utilisateurs sont habitués (et utilisez des boutons plus gros!). – PatrickNLT

Questions connexes