Ich habe eine UITextView in meinem Bildschirm, der Benutzer sollte nur zwei Zeilen ausfüllen, und wenn der Benutzer in der zweiten Zeile der Return-Taste sollte in Fertig .
Wie kann ich die Anzahl der Zeilen in UITextView begrenzen? Ich habe viel gesucht, und keine Ergebnisse waren nützlich!
Ich fand diese Antwort für Swift:
%Vor%Es hat nicht funktioniert, auf diese Weise kann der Benutzer unendlich Zeichen eingeben, aber was auf dem Bildschirm angezeigt wird, sind nur zwei Zeilen!
Wenn Sie also versucht haben, den Text von textView zu drucken, finden Sie einen Disaster-Text.
Sie müssen textView:shouldChangeTextInRange:replacementText:
implementieren. Diese Methode wird immer dann aufgerufen, wenn sich der Text ändert. Mit der Eigenschaft text können Sie auf den aktuellen Inhalt der Textansicht zugreifen.
Konstruieren Sie den neuen Inhalt aus dem übergebenen Bereich und dem Ersetzungstext mit [textView.text stringByReplacingCharactersInRange:range withString:replacementText]
.
Sie können dann die Anzahl der Zeilen zählen und YES
zurückgeben, um der Änderung zu erlauben, oder NO
, um sie abzulehnen.
BEARBEITEN: Auf OP-Anfrage:
%Vor%Falls jemand die Anzahl der Zeilen in Echtzeit möchte, so machen Sie das mit RxSwift & amp; RxCocoa
%Vor%Finden Sie unten die Objective-C-Version von Abhinavs Antwort:
%Vor%Tags und Links ios uitextview swift