触摸事件UITouch

本文详细介绍了iOS中的触摸事件UITouch,包括其各种状态和属性,以及如何处理触摸事件。同时,文章还探讨了响应者对象、第一响应者、响应者链的概念,并解释了如何管理事件分发,如通过设置userInteractionEnabled属性来控制视图是否响应触摸。此外,还展示了处理单击、滑动和多点触摸事件的代码示例,以及如何使用hit-testing来确定触摸目标视图。最后,讨论了事件转发机制,包括如何在自定义响应者之间转发触摸事件。
摘要由CSDN通过智能技术生成


1.详情介绍


#import<Foundation/Foundation.h>

#import<CoreGraphics/CoreGraphics.h>

#import<UIKit/UIKitDefines.h>


@classUIWindow,UIView,UIGestureRecognizer;


typedefNS_ENUM(NSInteger, UITouchPhase) {

    UITouchPhaseBegan,            //开始触摸

    UITouchPhaseMoved,            //触摸移动中

    UITouchPhaseStationary,       //触摸中但是没有移动

    UITouchPhaseEnded,            //触摸结束

    UITouchPhaseCancelled,        // 触摸被中断(系统的,如电话)

};

typedefNS_ENUM(NSInteger, UIForceTouchCapability) {

    UIForceTouchCapabilityUnknown =0,

    UIForceTouchCapabilityUnavailable =1,

    UIForceTouchCapabilityAvailable =2

};

typedefNS_ENUM(NSInteger, UITouchType) {

    UITouchTypeDirect,                      // 直接触摸

    UITouchTypeIndirect,                    // 间接触摸

    UITouchTypeStylusNS_AVAILABLE_IOS(9_1),// 笔 触摸

}NS_ENUM_AVAILABLE_IOS(9_0);


typedefNS_OPTIONS(NSInteger, UITouchProperties) {

    UITouchPropertyForce = (1UL <<0),//力度

    UITouchPropertyAzimuth = (1UL <<1),//方位

    UITouchPropertyAltitude = (1UL <<2),//高度

    UITouchPropertyLocation = (1UL <<3),// 位置

}NS_AVAILABLE_IOS(9_1);


NS_CLASS_AVAILABLE_IOS(2_0)@interface UITouch :NSObject


@property(nonatomic,readonly)NSTimeInterval      timestamp;//时间戳

@property(nonatomic,readonly)UITouchPhase        phase;//触摸的状态

@property(nonatomic,readonly)NSUInteger          tapCount;  // 触摸的手指数

@property(nonatomic,readonly)UITouchType         typeNS_AVAILABLE_IOS(9_0);//触摸的类型


@property(nonatomic,readonly)CGFloat majorRadiusNS_AVAILABLE_IOS(8_0);//触摸的半径

@property(nonatomic,readonly)CGFloat majorRadiusToleranceNS_AVAILABLE_IOS

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值