UITextView selectedRange не отображается при программной установке

Моя проблема заключается в том, что программно устанавливается выбранный диапазон UITextViewвыбирает текст, ноне визуально показать этовыбран. Похоже ли это на ошибку в OS 3.0 / 3.1. Что еще более важно, какое-либо решение или предложения для получения выбора для отображения? (образец проекта связан в нижней части сообщения)

Откуда я это знаю?выбран с тех пор как яя не получаю визуальную обратную связь? Две причины:

Нет мигающего курсораНажатие любой клавиши на клавиатуре удаляет существующий текст в диапазоне выбора.

У меня есть UITextView в viewcontroller, который позволяет редактировать изменяемое пользователем значение. Контроллер редактора открывается при двойном нажатии на строку таблицы или когда пользователь нажимает кнопку раскрытия подробностей в строке. Viewcontroller поступает через presentModalViewController, а в редакторе VC 's viewWillAppear метод, я запускаю клавиатуру с[self.textView becomeFirstResponder];

Иногда я хочу запустить редактор с выбранным содержимым всего текстового представления, чтобы пользователь мог просто начать печатать и удалить существующее содержимое (это потому, что я создаю новые элементы с заголовками по умолчанию, поэтомуs почти наверняка, пользователь сначала удалит все содержимое текстового поля редактора, а затем напечатает их заголовок).

Некоторые из вещей, которые ямы уже пробовали:

установка выбранного диапазона в viewDidAppear (вместо и в дополнение к выполнению этого в textViewDidBeginEditing).Замена _textView.text на копию текста в нем с последующим применением selectedRange (в textViewDidBeginEditing) ... думая, может быть, если я 'Я имею дело с ошибкой фреймворка, это может обойти это.[[_textView webView] selectAll]; (частный API). такое же поведение, текст выделяется без визуальной обратной связи.отправка _textView setNeedsDisplay и setNeedsLayout.используя executeSelector ... afterDelay, чтобы установить selectedRange так, чтобы это происходило после выхода из textViewDidBeginEditing.

ссылки на С.О .: Вот а такжеВот

// UITextFieldDelegate Methods...
- (void)textViewDidBeginEditing:(UITextView *)_textView
{
 NSInteger len = [_textView.text length];

 if( self.selectInitialText ){
  //NOTE: this is not working as expected. Indeed the text is 
  // selected but the highlighting of the text isn't showing.
  _textView.selectedRange = NSMakeRange(0,len);
 }
}

-- РЕДАКТИРОВАТЬ --

Вот'Пример проекта, представленного в Apple BugReporter.Скачать пример проекта BugReport_7380723

Дополнительная информация:

Создавая и играя с примером проекта, я обнаружил две вещи:

Когда там'текст выделен, но подсветка не отображается, затем нажмите несколько клавиш "встряхнуть, чтобы отменить " и оригинальный текст восстановленно это подсвечен.

Если вы вручную сделаете выбор в текстовом представлении, затем нажмите «Выбрать все" кнопка [ссылается на пример проекта, связанный выше], весь текст выделенА ТАКЖЕ правильно отображает подсветку.

Ответы на вопрос(4)

Ваш ответ на вопрос