我是靠谱客的博主 忧伤日记本,最近开发中收集的这篇文章主要介绍UIEvent【事件】属性和方法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

UIEvent【事件】属性和方法

官方文档:https://developer.apple.com/reference/uikit/uievent?language=objc#symbols

//触摸事件包括一个或者多个触摸(touches),每个触摸有一个UITouch对象表示。

//当触摸事件发生时,系统会通过触摸处理的逻辑找到合适的responder并把UIEvent对象传递过去。

//responder通过touchesBegan:withEvent:等方法去接收UIEvent对象。

 

@class UIWindow, UIView,UIGestureRecognizer, UITouch;

//三种事件类型

typedef NS_ENUM(NSInteger,UIEventType) {

    UIEventTypeTouches,         //触摸事件

    UIEventTypeMotion,           //运动事件

    UIEventTypeRemoteControl,   //远程控制事件

    UIEventTypePresses NS_ENUM_AVAILABLE_IOS(9_0), //物理按钮事件类型

};

 

//事件亚类型

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,//结束快进

};

 

@interface UIEvent : NSObject

 

//事件类型

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

//事件亚类型

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

//事件产生的时间

@property(nonatomic,readonly) NSTimeInterval  timestamp;

#ifUIKIT_DEFINE_AS_PROPERTIES

//所有的触摸

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

#else

//所有的触摸

- (nullable NSSet <UITouch*> *)allTouches;

#endif

//获得UIWindow的触摸

- (nullable NSSet <UITouch*> *)touchesForWindow:(UIWindow *)window;

//获得UIView的触摸

- (nullable NSSet <UITouch*> *)touchesForView:(UIView *)view;

//获取事件中特定手势的触摸

- (nullable NSSet <UITouch*> *)touchesForGestureRecognizer:(UIGestureRecognizer *)gestureNS_AVAILABLE_IOS(3_2);

//会将丢失的触摸放到一个新的 UIEvent数组中,你可以用coalescedTouchesForTouch(_:)方法来访问

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

//辅助UITouch的触摸,预测发生了一系列主要的触摸事件。这些预测可能不完全匹配的触摸的真正的行为,因为它的移动,所以他们应该被解释为一个估计。

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

 

@end

最后

以上就是忧伤日记本为你收集整理的UIEvent【事件】属性和方法的全部内容,希望文章能够帮你解决UIEvent【事件】属性和方法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部