有时UIGestureRecognizer手势识别…

有时我们添加的UIGestureRecognizer识别不出来,分析原因至少有以下三种可能:

  1. - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer;
  2. - (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer;
  3. - (BOOL)canBePreventedByGestureRecognizer:(UIGestureRecognizer *)preventingGestureRecognizer;

对应序号,分别解释:

  1. 一次手势动作,有可能触发多个手势时,这个接口询问这些手势能否并存。
    eg:一个横向的scrollview A,内有个竖向的自scrollview B,一次斜的swipe手势(本意是想横滑),可能只响应B的竖向滑动,你期望的A的横向却没发生。
    解决方案:在该接口中识别你的手势,并return YES。注意不要扩大化了。
  2. 手势可能发生的条件,比如某些特殊情况下,不想让此手势发生,就return NO了。
  3. 有的手势之所以没发生,是因为它被别的手势阻止了。典型的如UITapGestureRecognizer手势,一个UITapGestureRecognizer永远不会阻止一个更高tap次数的UITapGestureRecognizer.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值