UITextView selectedRange não exibindo quando definido programaticamente

Meu problema é que programaticamente definir o selectedRange de UITextViewseleciona o texto, masnão indica visualmente que está selecionado. Isso soa como um bug no OS 3.0 / 3.1. Mais importante, qualquer solução ou sugestão para obter a seleção para exibir? (projeto de amostra vinculado na parte inferior da mensagem)

Como eu sei que está selecionado, já que não estou recebendo feedback visual? Duas razões:

Nenhum cursor piscandoTocar em qualquer tecla do teclado exclui o texto existente no intervalo de seleção.

Eu tenho um UITextView em um viewcontroller que permite editar um valor alterável pelo usuário. O controlador do editor é aberto quando um toque duplo é recebido em uma linha da tabela ou o usuário toca no botão de divulgação de detalhes em uma linha. O viewcontroller chega via presentModalViewController, e no método viewWillAppear do editor VC, inicio o teclado com[self.textView becomeFirstResponder];

Às vezes eu quero iniciar o editor com todo o conteúdo da textview selecionada para que o usuário simplesmente comece a digitar e apague o conteúdo existente (isso é porque eu crio novos itens com títulos padrão, então é quase certo que o usuário primeiro apague todo o conteúdo do campo de texto do editor e digite seu título).

Algumas das coisas que já tentei:

definindo o intervalo selecionado em viewDidAppear (em vez de e além de fazê-lo em textViewDidBeginEditing).Substituindo _textView.text por uma cópia do texto e aplicando o selectedRange (em textViewDidBeginEditing) ... pensando que talvez se eu estou lidando com bug de framework, isso pode contornar isso.[[_textView webView] selectAll]; (api privado). mesmo comportamento, o texto é selecionado sem feedback visual.enviando _textView setNeedsDisplay e setNeedsLayout.usando um performSelector ... afterDelay para definir o selectedRange para que isso aconteça depois de sair textViewDidBeginEditing.

refs em S.O .: Aqui eAqui

// 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);
 }
}

- EDIT -
Aqui está o projeto de amostra enviado ao Apple BugReporter.Baixe o projeto de exemplo BugReport_7380723

Informação adicional:

Ao criar e brincar com o envio do projeto de amostra, descobri duas coisas:

Quando houver texto selecionado, mas nenhum destaque for exibido, toque em algumas teclas, em seguida, "agitar para desfazer" e o texto original será restauradomas é em destaque.

Se você fizer uma seleção manualmente na visualização de texto, toque no botão "Selecionar tudo" [refere-se ao projeto de amostra vinculado acima], todo o texto é selecionadoE exibe o realce corretamente.

questionAnswers(4)

yourAnswerToTheQuestion