iOS目前支持三种类型的事件:触摸事件、运动事件和远程控制事件
这些事件使用UIEvent来表示
每个事件(UIEvent)都有一个与之关联的事件类型和子类型, 可以通过type和subType属性访问
触摸事件
ios中的触摸事件是基于多点触摸
不同的UIKit对象,对触摸手势的处理是不一样的
运动事件
当以特定方式移动设备(比如摇摆)时,就会产生运动事件
运动事件源自设备加速器
运动事件除了事件类型,子类型和时间戳之外,没有其他状态
处理事件必须实现 motionBegan:withEvent; motionEnabled:withEvent
在ios中触摸动作是指手指碰到屏幕或在屏幕上移动
不同的手势对应不同的触摸动作
事件是当用户手指触击屏幕及在屏幕上移动时,系统不断发送给应用程序的对象
触摸信息有时间和空间两方面,时间方面的信息称为阶段,被封装在UIEvent中,其实就是开始,移动,结束等阶段
在iOS中不是任何对象都能处理事件,只有继承了UIResponder的对象才能接收并处理事件。我们称之为“响应者对象”
UIApplication、UIViewController、UIView都继承自UIResponder,因此它们都是响应者对象,都能够接收并处理事件
当用户用一根触摸屏幕时,会创建一个与手指相关联的UITouch对象,一根手指对应一个UITouch对象
当手指离开屏幕时,系统会销毁相应的UITouch对象
UITouch的作用
保存着跟手指相关的信息,比如触摸的位置、时间、阶段
当手指移动时,系统会更新同一个UITouch对象,使之能够一直保存该手指在的触摸