In meiner iOS-Tastatur-App habe ich derzeit eine Textvorschlagsleiste, die der Vorschlagsleiste der iOS 8-Tastatur ähnelt. Ich möchte den gesamten Text in der Vorschlagsleiste löschen, wenn der Benutzer etwas tut, das das Textfeld löscht (z. B. wenn jemand "Send" auf iMessage oder WhatsApp trifft).Wie erkennt man von der iOS-Tastaturerweiterung, dass ein Textfeld durch Aktionen wie "Senden" in iMessage gelöscht wird?
Als das Drücken von "Senden" ist kein Tastendruck, ich frage mich, ob es eine Möglichkeit gibt, von der Tastatur zu erkennen, wenn ein Textfeld gelöscht wird.
Ich habe versucht, leeren Text ""
oder neue Zeile "\n"
zu erkennen, aber bis jetzt hat dies nicht funktioniert.
Edit: Ich weiß, dass dies durch 3rd-Party-iOS-Tastatur möglich ist, wie hier zu sehen (das ist von Themeboard)
Vor senden Schlagen, beachten Sie den Text in der Vorschlagsleiste.
Sofort nach dem "Senden". Die Vorschlagsleiste ist gelöscht.
Ich bin kein Experte in Tastaturerweiterung, aber gibt es irgendeine Methode, die Sie Änderungen in der TextField erkennen können? Dann können Sie löschen, wenn die Textlänge Null ist. – SFF
@SFF Dies ist ein sehr guter Vorschlag. Ich habe versucht mit 'selbst.textDocumentProxy.documentContextBeforeInput' zu erkennen (was erkennt, was auf dem TextField ist), aber leider kann ich scheinen, um die Aktion zu finden, die bewirkt, dass' documentContextBeforeInput' gelöscht wird (dh wenn Send getroffen wird), also könnte ich Fügen Sie die entsprechende Methode ein, um dem zu folgen. – daspianist
Ok, das ist eine schreckliche Idee, aber Sie können NSTimer setzen, die 'documentContextBeforeInput' alle 0,1 Sekunden aufruft. Natürlich wird es CPU wie verrückt benutzen, aber zumindest gibt es einen Weg. – SFF