ios事件之UIEvent类详解(一)

2018-05-23  本文已影响0人  浅_若清风

前言:我们知道,一个应用程序可以接收许多不同类型的事件,包括触摸事件、运动事件、远程控制事件和按压事件。触摸事件是最常见的,并且被传递到最初发生触摸的视图。运动事件是UIKIT触发的,并且与核心运动框架报告的运动事件分离。遥控事件允许应答器对象从外部附件或耳机接收命令,以便它可以管理管理音频和视频,例如播放视频或跳过到下一个音频轨道。按压事件表示与游戏控制器、Apple TV远程或具有物理按钮的其他设备的交互。可以使用类型和子类型属性来确定事件的类型。ios中用UIEvent类来表示事件。(引用UIEvent官方文档

获取触摸事件:

//返回与事件关联的所有触摸

@property(nonatomic, readonly, nullable) NSSet *allTouches;

//从给定视图的事件返回触摸对象

- (nullable NSSet *)touchesForView:(UIView *)view;

//从指定窗口的事件返回触摸对象

- (nullable NSSet *)touchesForWindow:(UIWindow *)window;

//返回与指定的主触控关联的所有触摸

- (nullable NSArray *)coalescedTouchesForTouch:(UITouch *)touch NS_AVAILABLE_IOS(9_0);

//返回指定触摸的预计发生的触摸数组

- (nullable NSArray *)predictedTouchesForTouch:(UITouch *)touch NS_AVAILABLE_IOS(9_0);

时间属性:

//事件发生的时间

@property(nonatomic,readonly) NSTimeInterval  timestamp;

获取事件类型:

//事件类型

@property(nonatomic,readonly) UIEventType     type  NS_AVAILABLE_IOS(3_0);

//事件亚类型

@property(nonatomic,readonly) UIEventSubtype  subtype NS_AVAILABLE_IOS(3_0);

获取手势识别器的触摸:

//返回正在传递到指定手势识别器的触摸对象

- (nullable NSSet *)touchesForGestureRecognizer:(UIGestureRecognizer *)gesture NS_AVAILABLE_IOS(3_2);

ios事件的四种类型(指定事件的一般类型):

typedefNS_ENUM(NSInteger, UIEventType) { 

 UIEventTypeTouches,   //触摸事件

UIEventTypeMotion,   //运动事件

UIEventTypeRemoteControl,   //远程控制事件

UIEventTypePresses NS_ENUM_AVAILABLE_IOS(9_0), //按压事件

};

ios指定事件的子类型及其一般类型:

指定事件的子类型及其一般类型

typedef NS_ENUM(NSInteger, UIEventSubtype) {    

  UIEventSubtypeNone                              = 0,        //无类型

 UIEventSubtypeMotionShake                       = 1,        //摇晃

 UIEventSubtypeRemoteControlPlay                 = 100,    //播放

UIEventSubtypeRemoteControlPause                = 101,    //暂停

UIEventSubtypeRemoteControlStop                 = 102,  //结束

UIEventSubtypeRemoteControlTogglePlayPause      = 103,    //播放和暂停切换

UIEventSubtypeRemoteControlNextTrack            = 104,   //下一首

UIEventSubtypeRemoteControlPreviousTrack        = 105,    //上一首

UIEventSubtypeRemoteControlBeginSeekingBackward = 106,    //开始后退

UIEventSubtypeRemoteControlEndSeekingBackward   = 107,    //结束后退

UIEventSubtypeRemoteControlBeginSeekingForward  = 108,    //开始快进

UIEventSubtypeRemoteControlEndSeekingForward    = 109,   //结束快进

};

上一篇下一篇

猜你喜欢

热点阅读