美文网首页
事件传递和source1事件

事件传递和source1事件

作者: AlwaysBlue | 来源:发表于2019-12-10 17:49 被阅读0次

为什么我已经在hitTest中返回nil了,还会走scrollview的回调

https://blog.csdn.net/u013602835/article/details/79986819 iOS事件响应链

1.如果最终hitTest没有找到第一响应者,或者第一响应者没有处理该事件,则该事件会沿着响应链向上回溯,比如上面的scrollview的hitTest如果是scrollview就返回nil,此时应该就会回溯到UIWindow和UIApplication实例上,如果这两个实例都不能,则该事件会被丢弃。此处就是用户上滑的操作就会被丢弃。
2.hitTest会忽略hidden的视图,userInteractionEnabled = NO的视图,alpha< 0.01的视图。子视图区域超过父视图区域的,区域外的触摸操作也不会被识别。只要pointInside返回的是yes,hitTest最终都会返回一个view,不是子view就是他自身。可以通过重写pointInside来处理具体情况。
3.上述例子中,重写hitTest,在scrollview的某些区域(没有被子view覆盖的区域,如果用户接触的是子view区域,那么scrollview的hitTest会返回子view,如果不是就返回nil。还是不理解为什么子view为什么会响应scrollview的回调!!我知道了。看1.如果第一响应者没有处理该事件,就会沿着响应链向上回溯,这里回溯就是用来处理事件的。)

相关文章

  • 事件传递和source1事件

    为什么我已经在hitTest中返回nil了,还会走scrollview的回调 https://blog.csdn....

  • iOS面试复习-事件的产生和传递

    事件的产生和传递 1.发生触摸事件后,runloop中触发source1事件 生成一个UIEvent 事件系统会将...

  • 3.3 iOS事件的传递和处理

    1.3事件的传递和处理 (一)事件的产生和传递 事件传递的作用就是找到合适的view来处理事件 1.当发生触摸事件...

  • NSRunloop

    NSRunloop mode中source source0代表用户交互事件 source1 代表系统内核处理事件 ...

  • 事件传递和事件响应

    UIView可以处理用户的操作 参与视图响应链 CALayer只是图层的显示 事件传递主要跟两个方法有关 - ...

  • 事件传递

    CALayer----事件传递 事件的产生和传递 触摸后,系统会传递触摸到UIApplication管理的事件队列...

  • UI

    # 事件传递和响应链 **事件传递:** UIApplication->UIWindow->UIViewContr...

  • iOS UI

    事件传递和响应链 事件传递: UIApplication->UIWindow->UIViewController-...

  • iOS 事件响应链机制

    iOS中的事件的产生和传递 首先要知道 事件传递和响应过程 相反的。 事件的传递 当你点击了屏幕会产生一个触摸事件...

  • 事件传递

    事件传递和事件响应是两个概念事件传递:应用接受到事件,则放入到application事件队列中,为什么是队列,不是...

网友评论

      本文标题:事件传递和source1事件

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