大佬教程收集整理的这篇文章主要介绍了ios – UIGestureRecognizer和UITextView,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个手势识别器附加到视图,并且工作正常,直到我将视图设置为第一响应者,如果视图中的点击点大于X和Y值,我会这样做.
- (IBACtion)textViewTapped:(UIGestureRecognizer *)sender { CGPoint point = [sender LOCATIOnOfTouch:0 inView:self.view]; NSLog(@"x ix %f,y is %f",point.x,point.y); if (point.x > 96 && point.y > 106) [self.myTextView becomeFirstResponder]; }
问题是,一旦它被设置为第一响应者,然后通过点击该文本视图外部来重新签名,我的手势识别器方法永远不会被再次调用.如果我点击没有设置第一响应者的区域,那么我的方法会在我点击时被多次调用.如果我设置然后辞职第一响应者,它在第一次辞职后没有响应.
- (IBACtion)viewTapped:(UIGestureRecognizer *)sender { [self.view endEdiTing:YES]; UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@SELEctor(textViewTapped:)]; [self.myTextView addGestureRecognizer:tap]; NSArray *gestures = [self.myTextView gestureRecognizers]; NSLog(@"got %d recognizers",[gestures count]); }
在尝试的时候,如果我在每次辞职后添加一个新的手势识别器,那么这是有效的,但显然不是一个好的解决方案.
有什么想法吗?
@H_440_9@myGestuerRecognizer.delegate = self
然后实现UIGestureRecognizerDelegate
#pragma mark - UIGestureRecognizerDelegate -(BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer{ return YES; } -(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer{ return YES; } -(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch{ return YES; }
这对我有用
以上是大佬教程为你收集整理的ios – UIGestureRecognizer和UITextView全部内容,希望文章能够帮你解决ios – UIGestureRecognizer和UITextView所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。