2010-09-07 4 views
4

Par défaut, si vous secouez l'iPhone tout en entrant du texte dans un UITextField, une petite boîte apparaîtra vous demandant si vous souhaitez annuler la saisie. Comment puis-je empêcher cela? J'ai regardé à travers les docs UITextField, UITextFieldDelegate, et UITextInputTraits et n'ai rien trouvé concernant les secousses. Vraisemblablement, je pourrais sous-classer UITextField pour ignorer l'événement de secousse, mais je ne suis pas vraiment confiant dans ma capacité à ne pas visser d'autres choses. J'aimerais quelque chose commeComment empêcher l'UITextField de répondre au mouvement d'agitation?

textField.respondsToShake = FALSE; 

Quelle est la meilleure façon de le faire?

Répondre

13
[UIApplication sharedApplication].applicationSupportsShakeToEdit = NO; 
+0

Cela doit être défini dans la méthode webViewDidFinishLoad. –

2

Vous pouvez essayer de sous-classer UITextField et remplacer canPerformAction:withSender: de manière à interdire l'action undo:. Mais alors vous perdez les deux en les secouant et en passant par le menu contextuel.

+0

Merci! Je n'ai pas mentionné que je ne m'inquiétais pas de supprimer complètement l'annulation dans l'application, et il semble qu'il y ait un moyen plus facile, mais c'est une bonne réponse que j'utiliserai probablement dans le futur. –

Questions connexes