Wie überprüfe ich Textfelder in Echtzeit?

8

Ich schreibe eine Validierung für mein Textfeld, ich fand etwas interessantes, ob ich überprüfen kann, wie viele Ziffern ich in Echtzeit in das Textfeld eintippe. Meine Textfeldeingabe muss eine 8-stellige Nummer sein. Also möchte ich den Text innerhalb des Textfelds in eine grüne Farbe ändern, wenn ich 8 Stellen erreiche und die Farbe ändere, wenn das nicht der Fall ist.

Wie kann ich das tun? Bitte helfen Sie mir, danke im Voraus.

    
user1035877 13.12.2011, 03:26
quelle

6 Antworten

21

Die Verwendung von -textField:shouldChangeCharactersInRange:replacementString: ist wahrscheinlich eine schlechte Lösung, da sie ausgelöst wird, bevor das Textfeld aktualisiert wird. Diese Methode sollte wahrscheinlich verwendet werden, wenn Sie den Text des Textfelds ändern möchten, bevor die Tastatur automatisch aktualisiert wird. Hier möchten Sie wahrscheinlich beim Bearbeiten von Wertänderungen einfach die Ziel-Aktion-Paarung verwenden:

%Vor%

Versuchen Sie dann in - (void)checkTextField:(id)sender :

%Vor%     
aopsfan 13.12.2011, 04:24
quelle
4
%Vor%     
btmanikandan 01.04.2013 13:01
quelle
3

Verwenden Sie UITextFieldDelegate . vor allem diese Funktion

%Vor%

und Sie können Beispielcode-Links von hier erhalten.

    
Krishnabhadra 13.12.2011 03:28
quelle
2
%Vor%

Probieren Sie es aus!

    
Kaijay Lu 13.12.2011 03:43
quelle
1

einen Delegaten für das UITextField Einrichten und die Methode implementieren – textField:shouldChangeCharactersInRange:replacementString: Details und Beispiele sind in dem UITextFieldDelegate-Protokoll-Referenz , aber hier ist ein kleines Beispiel:

%Vor%     
PengOne 13.12.2011 03:28
quelle
0

Aktualisieren Sie Swift 4.0

%Vor%

Ruf jetzt deine Funktion an. In meinem Fall wird dies die Speichern-Schaltfläche aktivieren

%Vor%

Ich hoffe, es hilft.

    
Harjot Singh 23.09.2017 15:45
quelle

Tags und Links