美文网首页
iOS触摸事件传递和手势的关系

iOS触摸事件传递和手势的关系

作者: yohen | 来源:发表于2017-03-15 15:40 被阅读428次

今天尝试给UITableViewCell增加自定义左滑手势,发现ContentView的frame是无法修改的,只能在上面增加一层MyContentView,并加上一个pan手势,当往左开始移动的时候,然后在MyContentView下插入一个UIButton。然后效果出来了,但是,但是发现UITableView上下方向无法滑动了。

看来是添加在MyContentView的手势和UITableView自带的手势冲突了

看了下代理方法,应该是UITableView的手势被阻止了,可以通过下面的方法return YES来启用。

- (BOOL)gestureRecognizer:(UIGestureRecognizer*)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer*)otherGestureRecognizer;

现在好了,现在可以上下滑动和左拉滑动了,但是手势会同时响应,这个太bug了,看到网上的做法,可以通过获得手势在某一个方向上的速度来判定:

-(BOOL)gestureRecognizerShouldBegin:(UIPanGestureRecognizer *)gestureRecognizer{

if([gestureRecognizer isKindOfClass:[UIPanGestureRecognizer class]]){

CGPoint velocityPoint =[gestureRecognizer velocityInView:self.contentView];

if(fabs(velocityPoint.x)> 100){

return YES;

}else

return NO;

}else

return NO;

}

顺便回顾了iOS的事件传递和 总结下,手势具有优先权。给某个视图加上手势,当有触摸事件发生的时候,视图的touchBegan还是会执行的,如果触摸过程被捕获为手势事件,就不会回到touchMove等方法了,假如不能被识别为手势事件,就跟往常一样会进行各种touch方法的回调。

相关文章

  • ios 事件传递和响应

    史上最详细的iOS之事件的传递和响应机制-原理篇iOS触摸事件传递响应之被忽视的手势识别器工作原理手势事件中can...

  • iOS触摸事件传递和手势的关系

    今天尝试给UITableViewCell增加自定义左滑手势,发现ContentView的frame是无法修改的,只...

  • iOS中手势的简述(面试必备)

    提供了有关iOS中手势常用到的6个方面(事件、事件处理的方法、UITouch触摸对象、事件传递、响应者链、手势识别...

  • iOS 事件以及手势的处理

    iOS 事件以及手势的处理 首先引用深入浅出iOS事件机制,iOS触摸事件处理详解,详解iOS触摸事件与手势识别三...

  • app生命周期、控制器生命周期和事件传递、响应

    生命周期 app生命周期 控制器生命周期 事件 touch事件和手势 触摸事件首先传递到手势上,如果手势识别成功,...

  • iOS 触摸事件相关知识总结

    1.触摸事件和手势相关知识? iOS 的事件分为三种,触摸事件(Touch Event)、加速器事件(Motion...

  • 《iOS事件触摸与手势》

    iOS事件触摸与手势 一、事件分发处理【由外到内】在iOS中发生触摸后,事件会加到UIApplication事件队...

  • iOS 触摸事件与响应理解

    参考文章: iOS触摸事件的流动 iOS触摸事件的传递与响应 UIViewController UIAppli...

  • 初识iOS事情处理机制

    参考:史上最详细的iOS之事件的传递和响应机制-原理篇iOS触摸事件全家桶史上最详细的iOS之事件的传递和响应机制...

  • iOS开发之触摸事件

    本文介绍了iOS中使用频率较高的触摸事件,并阐述了事件产生和传递的过程,以及响应者链的事件传递过程 触摸事件 简介...

网友评论

      本文标题:iOS触摸事件传递和手势的关系

      本文链接:https://www.haomeiwen.com/subject/nwvlnttx.html