Madhu
Madhu

Reputation: 1542

Get touch events in a UITextView

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?

Upvotes: 3

Views: 8296

Answers (4)

Madhu
Madhu

Reputation: 1542

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.

Upvotes: 0

Maddy_c45
Maddy_c45

Reputation: 36

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

Upvotes: 1

Raunak
Raunak

Reputation: 3414

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.

Upvotes: 1

Kevin Elliott
Kevin Elliott

Reputation: 2728

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.

Upvotes: 4

Related Questions