美文网首页
iOS 事件的产生和传递

iOS 事件的产生和传递

作者: CrystalZhu | 来源:发表于2020-02-07 18:27 被阅读0次

事件的生命周期:


屏幕快照 2020-02-07 下午6.01.34.png

从父控件传递到子控件:
UIApplication——>window——>寻找处理事件最合适的view
如何找到最合适的控件:

1.判断keywindow自己是否能接受触摸事件(如父控件不能接受触摸事件,子控件就不可能接收到触摸事件)
2.判断触摸点是否在自己身上
3.子控件组中从后面前遍历子控件(重复前两步)
4.找到view,如fitview把事件交给fitview再便利这个fitview的子控件

iOS中的事件
1.触摸事件
2.加速计事件
3.远程控制事件

响应对象UIResponder
在iOS中不是任何对象都能处理事件,只有继承了UIResponder的对象才能接受并处理事件,我们称之为“响应者对象”.
以下都是继承自UIResponder的,所以都能接收并处理事件
UIApplication, UIViewController, UIView
为什么继承了UIResponder的类能够接收并处理事件呢?
因为UIResponder中提供了相应的对象方法来处理触摸事件:
触摸事件:

-(void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event;
-(void) touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event;
-(void) touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event;
-(void) touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event;

加速计事件:

-(void) motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event;
-(void) motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event;
-(void) motionCancelled:(UIEventSubtype)motion withEvent:(UIEvent *)event; 

远程控制事件:

-(void)remoteControlReceivedWithEvent:(UIEvent *)event;

事件的处理:
我们可以通过重写触摸事件的方法,自定义手势等.
需要注意:在处理UIView的触摸事件时,必须要自定义UIView子类继承自UIView.因为UIView的.m文件不是开源的,但是如果是处理UIViewController的触摸事件的话,可以在控制器的.m文件直接重写那四个方法.

相关文章

  • iOS 事件响应链机制

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

  • 事件的产生和传递-iOS

    一、响应者对象 在iOS中不是任何对象都能处理事件,只有继承了UIResponder的对象才能接收并处理事件。我们...

  • iOS 事件的产生和传递

    事件的生命周期: 从父控件传递到子控件:UIApplication——>window——>寻找处理事件最合适的vi...

  • iOS开发之触摸事件

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

  • iOS-事件的产生和传递-

    事件的产生和传递 发生触摸事件后,系统会将该事件放到UIApplication管理的事件队列中。 UIApplic...

  • iOS中事件的产生和传递

    一.iOS中的事件可以分为3大类型 响应者对象 在iOS中不是任何对象都能处理事件,只有继承了UIResponde...

  • 事件传递和响应机制

    iOS中的事件 1.事件的生命周期 事件的生命周期从事件的产生和传递(事件如何从父控件传递到子控件并寻找到最合适的...

  • iOS事件的传递和响应机制

    iOS中的事件 事件的生命周期 事件的生命周期从事件的产生和传递(事件如何从父控件传递到子控件并寻找到最合适的vi...

  • iOS中的事件的产生和传递

    一.触摸事件由触屏生成后如何传递到当前应用? 系统响应 1.手指触碰屏幕,屏幕感应到触碰后,将事件交由IOKit处...

  • iOS中的事件的产生和传递

    1.事件的产生 ●发生触摸事件后,系统会将该事件加入到一个由UIApplication管理的事件队列中,为什么是队...

网友评论

      本文标题:iOS 事件的产生和传递

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