Verwenden von UILexicon zum Implementieren der Autokorrektur in iOS 8 Keyboard Extension

8

Ich habe gesehen, dass diese Frage ein paar Mal gestellt wurde, aber niemand scheint eine Antwort zu haben. Ich versuche, eine Autokorrektur-Funktion auf einer benutzerdefinierten Tastatur zu erstellen, aber ich bin völlig verloren, wie das geht. Apple gibt einige Unterlagen, aber es ist nicht sehr detailliert. Ich weiß, dass es etwas mit UILexicon-Daten zu tun hat, aber ich bin mir nicht sicher, was ich damit machen soll und wie ich es benutze, um Textfolgen zu korrigieren, die der Benutzer eingibt.

Jede Hilfe würde sehr geschätzt werden.

Was ich bisher gefunden habe:

%Vor%

Aber das ist soweit ich gekommen bin. Ich bin mir nicht sicher, was ich von hier aus tun soll.

    
SomeGuy 05.10.2014, 11:05
quelle

1 Antwort

9

Sie stellen eine sehr schwierige Frage. Kurz gesagt, es gibt keinen integrierten Zugriff auf Autokorrektur auf iOS8; Es gibt auch keinen Zugriff auf die APIs auf iOS, mit denen das System beispielsweise den roten "möglichen Fehler" unterstreichen oder andere Aspekte des System Autokorrekturverhaltens wie z. Platzieren Sie den Vorschlagsdialog (auf iOS 7, oder wenn die Vorschlagsleiste nicht sichtbar ist) oder den blauen Hintergrund (auf iOS 8).

Dinge, die Sie nicht tun können:

In-Place-Fehleranzeige

Direktes Autokorrekturdialog

Vorschläge Balken Autokorrektur Indikator

Was Sie können tun, ist, Ihre eigene Autokorrektur-Engine von Grund auf neu zu schreiben, einschließlich Ihrer eigenen Textverarbeitung und -analyse und Ihrer eigenen Benutzeroberflächen-Idiome. Dies alles muss mit der Einschränkung geschehen, dass Sie nicht in der Lage sind, außerhalb der Grenzen Ihrer Tastatur zu zeichnen, und Sie können nichts anderes auf dem Bildschirm ändern. Eine Reihe von Third-Party-Keyboards tun dies, wie zum Beispiel minuum und swiftkey (Disclaimer: Ich arbeite an Minuum), aber es ist eine nicht zufällige Menge an Arbeit. Wenn Sie daran interessiert sind, damit herumzuspielen, könnte ein guter Ausgangspunkt sein, das eingebaute UITextChecker Klasse, obwohl die Autokorrektur letztlich ein Problem ist, das sich von der Rechtschreibprüfung unterscheidet.

UILexicon ist nur nützlich, wenn Sie bereits etwas implementiert haben; Alles, was es Ihnen wirklich bietet, ist eine Liste von Wörtern, die Sie verwenden können, um jedes Wörterbuch, das Sie verwenden, zu ergänzen, sowie um Textverknüpfungen zu implementieren, die Ihr Benutzer möglicherweise in ihren Systemeinstellungen hinzugefügt hat. Es ist allein nicht genug, um ein Autokorrektursystem aufzubauen.

Nachtrag: Wie man einen Rechtschreibkorrektor schreibt ist ein großartiger kleiner Essay / Tutorial von Peter Norvig, den Sie vielleicht interessant finden, und das würde ich auch empfehlen, auch wenn Sie nicht versuchen, die automatische Korrektur zu schreiben.

    
cmyr 20.12.2014 00:53
quelle

Tags und Links