Disons que j'ai le code suivant:Obtention de la valeur d'un objet UITextField en tapant une séquence de touches?
IBOutlet UITextField* nameTextField;
IBOutlet UILabel* greetingLabel;
Je voudrais le greetingLabel
lire « Bonjour [nameTextField] » dès que l'utilisateur appuie sur une touche. Ce dont j'ai besoin fondamentalement est l'équivalent d'iPhone de la méthode de délégué de Cocoa controlTextDidChange
.
La méthode de délégué textField:shouldChangeCharactersInRange:
est appelé à chaque fois que se produit une séquence de touches:
- (BOOL) textField:(UITextField *)textField
shouldChangeCharactersInRange:(NSRange)range
replacementString:(NSString *)string
L'argument de chaîne renvoie le caractère qui est pressée. La valeur réelle de textField
(nameTextField.text
) reste cependant vide.
Qu'est-ce qui me manque ici? (Je voudrais nameTextField
pour refléter la chaîne exacte que l'utilisateur a entré jusqu'ici).
Merci! J'avais utilisé "Value Changed" comme si vous utilisiez un UISlider, etc. Il était intéressant qu'ils aient deux événements qui semblent avoir le même comportement. – wjl
C'est des trucs géniaux !! Merci d'avoir partagé votre solution. – Myxtic
Pour une raison quelconque, je voulais toujours une manière programmatique de le faire ... mais j'ai cédé ... Cette méthode Rocks! Merci pour le partage ... Je l'avais vu avant mais après des jours de codage mon cerveau ne fonctionne plus hehe. –