在iOS6中处理手势识别器

在iOS6中处理手势识别器,第1张

概述显然,iOS 6尝试自动处理这种情况,当您在同一个地方有一个手势识别器和一个UIButton,为相同的手势被激活. 当您想要单击按钮而不是激活手势识别器时,这种新的自动处理解决了问题,但是当您想要手势识别器行动时会产生新问题. 在iOS 5中可以实现: -(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldR 显然,iOS 6尝试自动处理这种情况,当您在同一个地方有一个手势识别器和一个UIbutton,为相同的手势被激活.

当您想要单击按钮而不是激活手势识别器时,这种新的自动处理解决了问题,但是当您想要手势识别器行动时会产生新问题.

在iOS 5中可以实现:

-(BOol)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceivetouch:(UItouch *)touch

在冲突中将动作转移到UIbutton.

这在iOS 6中似乎不起作用.此外,反转此方法的行为(因为现在UIbutton具有优先级而不是手势识别器)将无法正常工作.

完成方法:

- (BOol)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceivetouch:(UItouch *)touch {    if ([touch.vIEw isKindOfClass:[UIControl class]]){        return NO;    }    return YES;}
解决方法@H_419_18@ 我已经做到这一点解决了这个问题,根据你的需要改变它:
- (BOol)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceivetouch:(UItouch *)touch {      [self MyCommonSelector];// this will work for ios 5      return Yes; }

在您声明的按钮中添加目标,以便在iOS 6中调用:

[self.mybutton addTarget:self action:@selector(MyCommonSelector)  forControlEvents:UIControlEventtouchUpInsIDe];

用这种方式做你的东西,这个方法也可以通过按钮点击和你需要调用的手势来调用:

-(voID)MyCommonSelector {    //Do your stuff here what you want to do with Gesture too. }
总结

以上是内存溢出为你收集整理的在iOS6中处理手势识别器全部内容,希望文章能够帮你解决在iOS6中处理手势识别器所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1112514.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存