détecter le changement de contenu de UITextField lorsque le changement n'est pas effectué par le clavier
J'ai un UIButton
et un UITextField
,lorsque le bouton est enfoncé, l'textfield contenu de la chaîne sera égale à: This is a test string
comment puis-je détecter que ce champ de texte a changé de son contenu, dans ce cas?
p.s. UITextField's
délégué méthodes ne fonctionnent pas dans ce cas
Mise à JOUR: je veux que ce comportement soit sur iOS 6+ périphériques.
source d'informationauteur JAHelia
Vous devez vous connecter pour publier un commentaire.
Peut-être simple clé-valeur en observant?
Edit: je viens de vérifier, et il fonctionne pour moi.
Vous pouvez ajouter la
UITextFieldTextDidChangeNotification
:textField
(param objet) est votre UITextField.selector
est votre méthode qui sera appelée lorsque cette notification a été congédié.Vous pouvez gérer le changement de texte dans
UIControlEventEditingChanged
événement. Ainsi, lorsque vous modifiez le texte programmaticaly suffit d'envoyer cet événement:Le délégué de la méthode peuvent effectivement travailler pour vous. Vous obtenez le champ de texte, la gamme qui va changer, et la nouvelle chaîne. Vous pouvez mettre ces ensemble pour déterminer la chaîne proposée.
C'est plutôt une solution robuste, mais il devrait fonctionner. Dans votre fonction qui est appelée lorsque vous appuyez sur le bouton...
Ou, vous pouvez nous auto planificateur de vérifier si elle a changé à plusieurs reprises.
Ici est un Swift3 version de akashivskyy réponse:
A u essayer cela?