UIApplication对象会将事件从队列顶部取出

本文介绍了iOS中的事件类型,如触摸、运动和远程控制事件,重点讲解了触摸事件的处理机制。UIApplication从事件队列中取出UIEvent对象,并通过响应者链进行派发。响应者对象(如UIViewController、UIView)通过触碰测试找到第一响应者,判断触摸点并遍历子视图,确保事件传递到合适的处理者。文中强调了父控件接受事件的能力对子控件的影响。
摘要由CSDN通过智能技术生成

iOS目前支持三种类型的事件:触摸事件、运动事件和远程控制事件
这些事件使用UIEvent来表示
每个事件(UIEvent)都有一个与之关联的事件类型和子类型, 可以通过type和subType属性访问
触摸事件
ios中的触摸事件是基于多点触摸
不同的UIKit对象,对触摸手势的处理是不一样的
运动事件
当以特定方式移动设备(比如摇摆)时,就会产生运动事件
运动事件源自设备加速器
运动事件除了事件类型,子类型和时间戳之外,没有其他状态
处理事件必须实现 motionBegan:withEvent; motionEnabled:withEvent

在ios中触摸动作是指手指碰到屏幕或在屏幕上移动
不同的手势对应不同的触摸动作
事件是当用户手指触击屏幕及在屏幕上移动时,系统不断发送给应用程序的对象
触摸信息有时间和空间两方面,时间方面的信息称为阶段,被封装在UIEvent中,其实就是开始,移动,结束等阶段

在iOS中不是任何对象都能处理事件,只有继承了UIResponder的对象才能接收并处理事件。我们称之为“响应者对象”
UIApplication、UIViewController、UIView都继承自UIResponder,因此它们都是响应者对象,都能够接收并处理事件

当用户用一根触摸屏幕时,会创建一个与手指相关联的UITouch对象,一根手指对应一个UITouch对象
当手指离开屏幕时,系统会销毁相应的UITouch对象
UITouch的作用
保存着跟手指相关的信息,比如触摸的位置、时间、阶段
当手指移动时,系统会更新同一个UITouch对象,使之能够一直保存该手指在的触摸

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值