UITextInput: как отобразить каретку для пользовательского UIView, реализующего протокол UITextInput?

Я заметил, что в протоколе Apple UITextInput есть обязательный метод (CGRect)caretRectForPosition:(UITextPosition *)position, который, как видите, возвращает CGRect. Когда я ставлю точку останова внутри метода, кажется, что метод никогда не вызывается, даже когда я вызываю метод setSelectedTextRange:. Должен ли я реализовать свой собственный объект каретки внутри текстового представления? Я думал, что протокол автоматически обработал это и просто добавил курсор в текстовое представление с фреймом, указанным CGRect, возвращенным caretRectForTextPosition:. Как мне показать/добавить курсор в мой класс UIView, который реализует протокол UITextInput?

ИЗМЕНИТЬ

Я прочитал всю документацию вверх и вниз без каких-либо результатов и даже искал примеры реализации другими людьми. В конце концов я просто реализовал каретку сам. Это правильный/предлагаемый способ сделать это?


person NoodleOfDeath    schedule 06.07.2014    source источник
comment
Что говорят официальные документы?   -  person nhgrif    schedule 06.07.2014
comment
Это моя проблема. Я прочитал всю документацию вверх и вниз без каких-либо результатов и даже искал примеры реализации другими людьми. В конце концов я просто реализовал каретку сам.   -  person NoodleOfDeath    schedule 06.07.2014
comment
Эти детали должны быть включены в ваш вопрос.   -  person nhgrif    schedule 06.07.2014
comment
Должным образом отметил @nhgrif, я добавил обновление редактирования к своему вопросу. Можно ли как-то увеличить количество просмотров в этой теме? Я все еще ищу более конкретное решение/ответ, чем мои собственные любительские догадки и интуиция.   -  person NoodleOfDeath    schedule 08.07.2014


Ответы (1)


Да, вам нужно реализовать каретку самостоятельно. См. пример Apple SimpleTextInput.

person Ser Pounce    schedule 25.07.2014