iOS   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – UIGestureRecognizer和UITextView大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在实现一个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]);  
}

在尝试的时候,如果我在每次辞职后添加一个新的手势识别器,那么这是有效的,但显然不是一个好的解决方案.

有什么想法吗?

解决方法

我有同样的问题,我通过实现虚拟UIGestureRecognizerDelegate解决了它

将此添加到您的代码

@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,请注明来意。
标签:iosuitextview