UITextField-input-Validierung in iOS 7
Was ist der approppriate Weg in iOS 7 umgehen mit text-input-Feld-Validierung?
Gibt es eine alternative zu zeigen, in den dialog?
Ich habe nicht viel Erfahrung mit iOS-apps (ich bin eher ein android fan) und ich möchte, dass es ähnlich wie android ist:
mEditText.setError("Error string");
Nächste Sache, die ich fand, ist diese Bibliothek, aber ich würde gerne wissen, ob es ist etwas, das nativ in iOS (wenn möglich, möchte ich vermeiden Sie die Verwendung von 3rd-party-libs).
Vielen Dank im Voraus.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich bin mir nicht bewusst, etwas so einfaches wie das android-Beispiel, das Sie erwähnen. Aber sobald Sie festgestellt haben, dass ein Wert ungültig ist, da pro @Herre_84, Sie haben ein paar Dinge, die Sie tun können, die nicht mit der Erziehung in einer Warnmeldung.
Einer gemeinsamen Sache zu tun, ist die Verwendung der
UITextField
's overlay-Ansichten, um anzuzeigen, dass der Wert fehlerhaft ist. Es gibt overlay-Ansichten zur Verfügung, die Sie auf der linken und rechten Seiten desUITextField
. Sie können Bilder in Ihnen, die angeben, dass der gültige status der Eingangs-wie in der Antwort zu diese Frage. Weitere details sind in die offizielle Apple-Dokumentation.Anderen weniger gemeinsame Sache, die Sie tun kann, ist das
attributedText
Eigenschaft vonUITextField
um anzuzeigen, dass der text ist nicht gültig. Sie könnten zum Beispiel falsche text in einer anderen Farbe.TSValidatedTextField
zeigt, wie Sie das tun.Schließlich könnte man eine ganz eigene Ansicht (vielleicht erscheinen in der Nähe Ihrer
UITextField
), die Sie aktualisieren mit Gültigkeit von Informationen. Sie würde haben, verdrahten Sie die zwei Ansichten, die wahrscheinlich über eine gemeinsame übergeordnete view-controller, Effekt der Kommunikation zwischen Ihnen.Gibt es keine standard-oder spezifische "iOS7" Weg der Validierung von text. Man konnte jedoch der Umsetzung Ihrer eigenen "validation framework" (ähnlich wie der, den Sie zeigen in der Verknüpfung, die Sie Hinzugefügt wird) mit
UITextfield
's eigenen Delegierten Methoden wie- (void)textFieldDidEndEditing:(UITextField *)textField
werden, die anzeigt, dass der Benutzer mit der Bearbeitung fertig (zB wenn er entlassen der Tastatur gedrückt oder die Schaltfläche "Fertig")- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
, die ausgelöst wird, wenn wenn ein neues Zeichen eingegeben wird, in das UITextField.Basierend auf diesen Ereignissen, Sie könnten beurteilen die aktuelle
NSString
imUITextField
mit estext
Eigenschaft, und passen Sie Ihre Benutzeroberfläche entsprechend.editText.setError("");
).