Я хочу установить помеченный текст программно, и поскольку iOS5 UITextView и UITextField соответствуют UITextInput, это должно быть возможно, но по какой-то причине я всегда получаю значение markedText
равным нулю. :(
Что мне здесь не хватает?
Это то, что я пытался без успеха:
(пока textview - первый ответчик)
1.- Когда текстовое представление не содержит текста:
text: "", selectedRange: {0,0}, отмеченный текст: ноль.
[_textView setMarkedText:@"月" selectedRange:NSMakeRange(0, 1)];
Результат:
text: "", selectedRange: {0,0}, отмеченный текст: ноль. (Ничего не изменилось)
2.- Когда текстовое представление содержит текст + некоторый помеченный текст:
текст: «AAA», selectedRange = {0,3}, отмеченный текст в конце: «太陽»
тогда я делаю:
[_textView setMarkedText:@"地" selectedRange:NSMakeRange(0,3)];
Результат:
текст: «AAA», selectedRange: {0,3}, отмеченный текст: ноль; (отмеченный текст стал нулем)
В обоих случаях все равно, что setMarkedText:selectedRange:
будет устанавливать текущий помеченный текст (если есть) на ноль.
Любая помощь будет высоко ценится:)
UPDATE
Поскольку концепция помеченного текста кажется неясной, вот объяснение:
В многоэтапных языках ввода (например, японском) вы можете вводить обычный текст (например, английский) или вводить помеченный текст (например, японский).
Здесь я написал обычный текст: regular text
Затем я написал помеченный текст つ
а затем я написал помеченный текст き
, поэтому он был добавлен в つき
Помеченный текст (текст в синем поле) представляет собой переходный или промежуточный этап ввода, поскольку он может превращаться в другие символы / слова, называемые кандидатами. Кандидаты показаны в большой коробке.
Этот снимок экрана был сделан при использовании Bluetooth-клавиатуры в iPad, но вы получите аналогичные результаты при использовании программной клавиатуры, например, при написании японского.
Перед написанием つ
текстовое представление было:
textView.text : "regular text"
textView.selectedRange : {12,0}
textView.markedText:nil
Затем я написал つ
и текстовый вид стал:
textView.text : "regular textつ"
textView.selectedRange : {13,0}
textView.markedText: "つ"
Затем я написал き
, и текстовый вид стал:
textView.text : "regular textつき"
textView.selectedRange : {14,0}
textView.markedText: "つき"
Каково текущее состояние текстового представления.
Я хочу иметь возможность устанавливать помеченный текст программно:)
Возможно ли это? - Согласно документам UITextInput это.