2013-05-02 14 views
5

Wprowadzam niestandardowy widok wprowadzania tekstu, który przyjmuje protokół,, przy użyciu UITextView, dwukrotne dotknięcie słowa sprawiają, że słowo wybrane, Zastanawiam się, jak UITextInput użyć swojego tokenizera do tokenizacji ciąg, do tej pory nie widziałem żadnych różnica z lub bez przypisywania tokenizera dla metody UITextInput przez nadpisanie [UITextInput -tokenizer].Tokenizer z UITextInput, do czego służy?

Odpowiedz

1

Służy do nawigacji po klawiaturze (jeśli podłączono klawiaturę sprzętową). Na przykład, poruszanie się pomiędzy słowami, przytrzymując Option i używając klawiszy strzałek, przechodząc do początku/końca linii.

od programowania Tekst Przewodnik Apple na iOS:

Tokenizers są obiekty, które określają, czy dana pozycja jest tekst wewnątrz lub na granicy jednostki tekstowej z danym ziarnistości. Po zapytaniu przez system wprowadzania tekstu tokenizer zwraca zakresy jednostek tekstowych o danej ziarnistości lub granicznej pozycji tekstu dla jednostkę tekstową o określonej ziarnistości. Aktualnie zdefiniowane granice to: znak, słowo, zdanie, akapit, linia i dokument; enum stałe o typie UITextGranularity reprezentują te granularności. Granularności jednostek tekstowych są zawsze szacowane w odniesieniu do kierunku przechowywania lub układu arkusza .

System wprowadzania tekstu używa tokenizera na różne sposoby. W przypadku przykładu , na przykład, klawiatura może wymagać kontekstu ostatniego zdania o numerze , aby dowiedzieć się, co użytkownik próbuje wpisać. Lub, jeśli użytkownik naciska klawisz Opcja-strzałka w lewo (na zewnętrznej klawiaturze), system tekstowy wysyła zapytanie do tokenu, aby znaleźć potrzebne informacje do przeniesienia do poprzedniego słowa.

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