문제

Apple does not provide touch event handling for UITextView. The project I'm developing includes notes that can be readable and editable, and I am using a UITextView. Please help me with this problem -- how can I get touch events for my project?

도움이 되었습니까?

해결책 4

I resolved the issue by using my own logic.

While reading we are adding a Custom View over the textview and working with those methods:

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

But when we are in the editing mode it is not possible anymore. Anyhow my requirement is only in readable mode.

Thanks for all your support to resolve the issue.

다른 팁

According to the Apple documentation, you may set a delegate for UITextView and implement the UITextViewDelegate.

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

Specifically, you can determine that a UITextView was touched by implementing textViewShouldBeginEditing.

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

Be sure to set the delegate property on the UITextView in order to catch the event.

Create custom textview and provide touch events inside the custom class. then you can create methods in delegate of that custom class.

Just wanted to add to Kevin's answer. UITextView inherits from UIScrollView. You should be getting all the events declared in UIScrollViewDelegate protocol for the text view.

I got:

-(void)scrollViewDidScroll:(UIScrollView *)scrollView

when I declared my class as the delegate of UITextView.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top