UITextField Eingabeüberprüfung in iOS 7

8

Was ist der geeignete Weg in iOS 7, um mit der Validierung von Texteingabefeldern umzugehen? Gibt es eine Alternative zum Anzeigen des Dialogs?

Ich habe nicht viel Erfahrung mit iOS-Apps (ich bin eher ein Android-Fan) und ich möchte, dass es Androids ähnlich ist:

%Vor%

Das nächste, was ich gefunden habe, ist diese Bibliothek , aber ich würde gerne wissen, ob es etwas natives in iOS gibt (wenn möglich, Ich möchte vermeiden, 3rd-Party-Bibliotheken zu verwenden).

Vielen Dank im Voraus.

    
micromanc3r 14.10.2013, 13:55
quelle

2 Antworten

8

Ich bin mir nicht bewusst, etwas so einfaches wie das Android-Beispiel, das Sie erwähnen. Aber sobald Sie festgestellt haben, dass ein Wert gemäß @ Herre_84 ungültig ist, haben Sie einige Dinge, die Sie tun können Es muss ein Warndialog geöffnet werden.

Es ist üblich, die Overlay-Ansichten von UITextField zu verwenden, um anzuzeigen, dass der Wert fehlerhaft ist. Es gibt Overlay-Ansichten, die für Sie auf der linken und rechten Seite von UITextField verfügbar sind. Sie können Bilder einfügen, die den gültigen Status der Eingabe angeben, wie in der Antwort auf diese Frage . Weitere Details sind in der offiziellen Apple-Dokumentation .

Eine andere weniger gebräuchliche Sache, die Sie tun können, ist die attributedText -Eigenschaft von UITextField , um anzuzeigen, dass der Text nicht gültig ist. Zum Beispiel könnten Sie falschen Text eine andere Farbe geben. TSValidatedTextField demonstriert, wie das geht.

Schließlich könnte man eine völlig separate Ansicht (vielleicht in der Nähe Ihres UITextField erscheint) verwenden, die Sie mit Gültigkeitsinformationen aktualisieren. Sie würden die beiden Ansichten verkabeln müssen, wahrscheinlich über einen gemeinsamen übergeordneten View-Controller, um die Kommunikation zwischen ihnen zu bewirken.

    
Travelling Man 09.12.2013, 23:42
quelle
2

Es gibt keinen standardmäßigen oder spezifischen "iOS7" Weg um Text zu validieren. Sie könnten jedoch Ihr eigenes "Validierungs-Framework" implementieren (ähnlich dem, auf das Sie in dem von Ihnen hinzugefügten Link verweisen), indem Sie die eigenen delegierten Methoden von UITextfield wie

verwenden
  • - (void)textFieldDidEndEditing:(UITextField *)textField , das anzeigt, dass der Benutzer die Bearbeitung beendet hat (z. B. wenn er die Tastatur geschlossen oder die Taste "Fertig" gedrückt hat)
  • - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string , die ausgelöst wird, wenn ein neues Zeichen in das UITextField eingegeben wird.

Basierend auf diesen Ereignissen können Sie die aktuelle NSString in der UITextField mit der Eigenschaft text auswerten und Ihre Benutzeroberfläche entsprechend anpassen.

    
Herre 14.10.2013 14:25
quelle

Tags und Links