A reçu aujourd'hui une question sur la façon de faire un UITextField sorte qu'il ne peut accepter un certain nombre de caractères d'entrée. Dis, tu voulais un champ de texte qui ne permet que jusqu'à cinq caractères à saisir, et accepte puis plus rien. Il est réellement facile.
La première étape est de configurer votre contrôleur (ou d'autres classes appropriées) en tant que délégué du champ de texte. Vous devez respecter cette classe pour le protocole UITextFieldDelegate, puis faire quelque chose comme ceci:
Après cela, vous avez juste besoin de mettre en œuvre une méthode déléguée pour limiter l'entrée.
Vous pouvez remplacer "5" avec n'importe quelle valeur, une variable ou constante est appropriée à votre situation. Chaque fois que nous retournons NO à partir de cette méthode délégué, le modifier en attente est annulée.
La première étape est de configurer votre contrôleur (ou d'autres classes appropriées) en tant que délégué du champ de texte. Vous devez respecter cette classe pour le protocole UITextFieldDelegate, puis faire quelque chose comme ceci:
myTextField.delegate = selfVous pouvez également définir le délégué dans Interface Builder par le contrôle-glisser depuis la zone de texte pour Fichier de propriétaire ou de quelque instance autre objet, et en sélectionnant la sortie du délégué.
Après cela, vous avez juste besoin de mettre en œuvre une méthode déléguée pour limiter l'entrée.
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
NSString *newString = [textField.text stringByReplacingCharactersInRange:range withString:string];
return !([newString length] > 5);
}
Vous pouvez remplacer "5" avec n'importe quelle valeur, une variable ou constante est appropriée à votre situation. Chaque fois que nous retournons NO à partir de cette méthode délégué, le modifier en attente est annulée.
Aucun commentaire:
Enregistrer un commentaire