Pergunta

A Apple não fornece manuseio de eventos de toque para UITextView. O projeto que estou desenvolvendo inclui notas que podem ser legíveis e editáveis, e estou usando um UITextView. Por favor me ajude com esse problema - como posso obter eventos de toque para o meu projeto?

Foi útil?

Solução 4

Eu resolvi o problema usando minha própria lógica.

Ao ler, estamos adicionando um Custom View sobre o textview e trabalhando com esses métodos:

(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event

Mas quando estamos no modo de edição, não é mais possível. De qualquer forma, meu requisito está apenas no modo legível.

Obrigado por todo o seu apoio para resolver o problema.

Outras dicas

De acordo com a documentação da Apple, você pode definir um delegado para o UITextView e implementar o UITextViewDelegate.

http://developer.apple.com/iphone/library/documentation/uikit/reference/uitextviewDelegate_protocol/reference/uitextviewDelegate.html

Especificamente, você pode determinar que um UITEXTVIEW foi tocado pela implementação TextViewShouldBeginediting.

- (BOOL)textViewShouldBeginEditing:(UITextView *)textView;

Certifique -se de definir a propriedade Delegate no UITEXTVIEW para capturar o evento.

Crie o TextView personalizado e forneça eventos de toque dentro da classe personalizada. Em seguida, você pode criar métodos no delegado dessa classe personalizada.

Só queria adicionar à resposta de Kevin. UITextView herda do UIScrollView. Você deve estar recebendo todos os eventos declarados no protocolo UIScrollViewDelegate para a visualização de texto.

Eu obtive:

-(void)scrollViewDidScroll:(UIScrollView *)scrollView

Quando declarei minha classe como o delegado do UITextView.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top