Je voudrais définir une limite au nombre de caractères pouvant être entré dans un UITEXTFIELD dans une application iOS à 25 caractères.
Selon Ce message , il pourrait être fait dans l'objectif-c comme ceci: p> Comment puis-je faire exactement la même chose en C # avec xamarin.ios? P> p>
5 Réponses :
Ceci n'est pas testé, mais je crois que cela peut fonctionner:
pour un événement UITEXTVIEW devrait avoir travaillé avec le même code ci-dessus
Cela doit être au sommet de Google. Devait faire un peu de creuser. Merci Rolf.
J'ai fini par le faire avec un délégué plutôt que de la notation de Lamba: mais je pense que le chemin de Rolf utilise Lambda est plus facile à lire. p> p>
C'est vraiment un moment car il a été répondu et c'est une bonne solution, mais elle peut être réalisée d'une manière différente en utilisant le notification code>. De cette façon, vous pouvez même ajouter un rappel et le faire fonctionner dans une classe séparée comme un petit composant.
Je l'ajoute ici au cas où cela pourrait aider quelqu'un d'autre. P>
NSNotificationCenter.DefaultCenter.AddObserver( UITextField.TextFieldTextDidChangeNotification, TextChangedEvent); private void TextChangedEvent(NSNotification notification) { UITextField field = (UITextField)notification.Object; if (notification.Object == field) { if (field.Text.Length >= 25) { field.Text = field.Text.Substring (0, 24); } } }
Après 2 jours de travail avec cette question, j'ai découvert la solution pour elle par moi-même. Cela fonctionne avec un étui à copier / coller. J'espère que cela sera utile.
Fonctionne très bien. parfait.
Ma solution utilise l'événement d'éditionChange:
_myUTextField.EditingChanged += (sender, e) =>{ if (_myUTextField.Text.Length > maxLength){ _myUTextField.Text = _myUTextField.Text.Substring(0, _myUTextField.Text.Length - 1); } };
Merci, cela fonctionne très bien, c'est utile lorsque vous avez besoin de DiPhankecharacters à un autre but.
Malheureusement, cette solution ne fonctionnera pas avec un contenu collé