2011-05-02 6 views

Répondre

4

Si vous utilisez un UITextField, le textField:shouldChangeCharactersInRange:replacementString: de votre délégué sera appelé avec une plage de longueur 1 et une chaîne de remplacement vide. Si rien n'est supprimé, cependant, vous ne recevrez aucune notification.

Si vous utilisez un UITextView, le textView:shouldChangeTextInRange:replacementText: de votre délégué sera appelé avec une plage de longueur 1 et une chaîne de remplacement vide. Si rien n'est supprimé, cependant, vous ne recevrez aucune notification.

Si vous utilisez votre propre classe qui implémente UIKeyInput, deleteBackward est supposé être appelé. Je ne sais pas si une classe implémentant UITextInput (qui inclut elle-même UIKeyInput) pourrait avoir replaceRange:withText: ou setMarkedText:selectedRange: appelée à la place avec une plage de longueur 1 et une chaîne de remplacement vide, ou ce qui pourrait arriver dans ces cas s'il n'y a rien à supprimer.

0

Si vous implémentez quelque chose comme un mot de passe, je pense qu'un champ de texte caché serait préférable, et plus de contrôles.

+0

Veuillez développer la réponse thsi. Pourquoi par exemple. –

Questions connexes