Get touch events in a UITextView
-
22-09-2019 - |
문제
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.
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.