2013-05-02 7 views
5

Ich implementiere eine benutzerdefinierte Text-Eingabe-Ansicht, die UITextInput Protokoll annimmt, wenn Sie UITextView verwenden, tippen Sie doppelt auf ein Wort machen das Wort ausgewählt, frage ich mich, wie UITextInput mit seinem Tokenizer die Zeichenfolge zu symbolisieren, von jetzt habe ich keine gesehen Unterschied mit oder ohne Zuweisen eines Tokenizers für UITextInput durch Überschreiben [UITextInput -tokenizer] Methode.Tokenizer von UITextInput, wofür wird es verwendet?

Antwort

1

Es wird für Dinge wie Tastaturnavigation verwendet (wenn Sie eine Hardwaretastatur angeschlossen haben). Zum Beispiel, indem Sie zwischen den Wörtern navigieren, während Sie Option gedrückt halten und mit den Pfeiltasten zum Anfang/Ende der Zeile gehen.

Von Text Programming Guide von Apple für iOS:

Tokenizer Objekte sind, ob eine Textposition mit einer gegebenen Körnigkeit innerhalb oder an der Grenze einer Texteinheit ist bestimmen. Bei der Abfrage durch das Texteingabesystem gibt ein Tokenizer Bereiche von Texteinheiten mit einer bestimmten Granularität oder die Position des Begrenzungstextes für eine Texteinheit mit einer bestimmten Granularität zurück. Derzeit definierte Granularitäten sind Zeichen, Wort, Satz, Absatz, Zeile und Dokument; enum Konstanten des Typs UITextGranularity repräsentieren diese Granularitäten. Granularitäten von Texteinheiten werden immer mit Bezug auf eine Speicher- oder Layout-Richtung ausgewertet.

Das Texteingabesystem verwendet den Tokenizer auf verschiedene Arten. Für Beispiel, die Tastatur erfordert möglicherweise den letzten Satz im Wert von Kontext, um herauszufinden, was der Benutzer versucht zu tippen. Oder wenn der Benutzer die Optionstaste nach links (auf einer externen Tastatur) drückt, fragt das Textsystem den Tokenizer ab, um die Informationen zu finden, die für zum vorherigen Wort benötigt werden.

Mehr: https://developer.apple.com/library/ios/documentation/StringsTextFonts/Conceptual/TextAndWebiPhoneOS/LowerLevelText-HandlingTechnologies/LowerLevelText-HandlingTechnologies.html