Ich erstelle ein Textfeld.
Immer wenn der Wert im Textfeld größer als 100 ist, muss ich eine Warnung anzeigen, die besagt "Wert muss kleiner als 100 sein", dann sollte der Wert des Textfelds gelöscht werden.
Wie kann ich das tun?
Sie können Ihren View-Controller dem UITextFieldDelegate
-Protokoll anpassen und die -textField:shouldChangeCharactersInRange:replacementString:
-Methode implementieren:
Um die vollständige Zeichenfolge zu erstellen, müssen Sie auch Änderungen in der Mitte des Textfelds berücksichtigen. Habe einige Änderungen am oben angegebenen Code vorgenommen.
%Vor%Diese Methode wird verwendet, um ein UItext-Feld nur für numerische Werte zu validieren.
Es ist eine perfekte Ganzzahl-Validierung.
%Vor%Zum Glück, jetzt, wo wir Swift haben, ist das viel einfacher. Sie müssen die prospektive Zeichenfolge konstruieren (hoffentlich, wenn Apple Cocoa in Swift neu schreibt, wird diese Schnittstelle das hinzufügen).
Inzwischen gibt es hier einen einfachen Liner:
%Vor%Hinweis: self.inputField ist natürlich eine Steckdose für das betreffende Feld. Das Umwandeln in NSString erfolgt auch, weil der Bereich, den wir übergeben haben, ein NSRange ist.
Ich habe eine Klasse erstellt JSInputField (Unterklasse von UItextField), die erlaubt Benutzer hinzufügen Validierung sehr einfach. Für zB.
%Vor%Tags und Links objective-c iphone ios