Obtenha eventos de toque em um uitextview
-
22-09-2019 - |
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?
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.
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.