Wie erkennt man, dass der Benutzer mitten in der Eingabe mit einer Eingabemethode ist?

7

Wenn Benutzer in einer UITextView mit einer Eingabemethode wie Chinesisch Pinyin eingeben, gibt es einen Zustand, in dem die Pinyin bereits in der Textansicht angezeigt wird, der Benutzer jedoch noch die endgültigen chinesischen Zeichen auswählen muss. Ein Screenshot wird viel klarer:

Ich möchte eine Textvervollständigung für den Benutzer durchführen, sollte dies aber nur für die echte Eingabe tun (die chinesischen Zeichen werden vom Benutzer gewählt), aber nicht für die dazwischenliegende Pinyin-Eingabe. Also muss ich diesen ausstehenden Zustand erkennen.

    
an0 01.10.2012, 14:10
quelle

1 Antwort

25

Endlich verstanden. Eingabemethoden wie Pinyin heißen Multistage Text Input . Die erste Stufe heißt Marked , die zweite Stufe heißt Committed . Um festzustellen, ob es in Marked stage ist, sollte UITextInput Protocols markedTextRange Eigenschaft abgefragt werden:

%Vor%     
an0 19.11.2012, 15:45
quelle

Tags und Links