Получить сенсорные события в UITextView - PullRequest
3 голосов
/ 21 января 2010

Apple не обеспечивает обработку событий касания для UITextView. Проект, который я разрабатываю, включает в себя заметки, которые можно читать и редактировать, и я использую UITextView. Пожалуйста, помогите мне с этой проблемой - как я могу получить сенсорные события для моего проекта?

Ответы [ 4 ]

4 голосов
/ 21 января 2010

Согласно документации Apple, вы можете установить делегата для UITextView и реализовать UITextViewDelegate.

http://developer.apple.com/iphone/library/documentation/UIKit/Reference/UITextViewDelegate_Protocol/Reference/UITextViewDelegate.html

В частности, вы можете определить, что UITextView был затронут, реализовав textViewShouldBeginEditing .

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

Обязательно установите свойство делегата в UITextView, чтобы перехватить событие.

1 голос
/ 11 января 2014

Создание пользовательского просмотра текста и предоставление сенсорных событий внутри пользовательского класса. затем вы можете создавать методы в делегате этого пользовательского класса.

0 голосов
/ 01 февраля 2013

Я решил проблему, используя свою собственную логику.

При чтении мы добавляем Custom View к textview и работаем с этими методами:

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

Но когда мы находимся в режиме редактирования, это больше невозможно. Во всяком случае, мое требование только в режиме чтения.

Спасибо за вашу поддержку в решении проблемы.

0 голосов
/ 03 октября 2011

Просто хотел добавить к ответу Кевина. UITextView наследуется от UIScrollView. Вы должны получать все события, объявленные в протоколе UIScrollViewDelegate для представления текста.

Я получил:

-(void)scrollViewDidScroll:(UIScrollView *)scrollView

когда я объявил свой класс делегатом UITextView.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...