Вопрос

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

Это было полезно?

Решение 4

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

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

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

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

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

Другие советы

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

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

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

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

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

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

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

Я получил:

-(void)scrollViewDidScroll:(UIScrollView *)scrollView

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top