UI-第四讲:事件处理

UI-第四讲:事件处理

  • 事件的基本概念
  • 触摸的基本概念
  • 响应者链
  • 手势

一 事件的基本概念:
* 事件概述:
1. 事件是当用户手指触及屏幕及在屏幕上操作时,系统不短发送给应用程序的对象
2. 系统将事件按照特定的路径传递给可以对其进行处理的对象
3. 在iOS中,一个UITouch对象表示一个触摸,一个UIEvent对象表示一个事件,事件对象中包含与当前多点触摸序列相对应的所有触摸对象,还可以提供与特定视图或窗口相关联的触摸对象
* 事件类型:
1. 触摸事件
2. 晃动事件
3. 远程事件

二 触摸的基本概念:
* 触摸信息有时间和空间两方面.时间方面的信息称为阶段(phrase),表示触碰是否刚刚开始,是否正在移动或处于静止转态,以及何时结束(手指从屏幕抬起).触摸信息还包括当前在视图或窗口中的位置信息.以及之前的位置信息.当一个手指接触屏幕时.触摸就和某个窗口或视图关联在一起, 这个关联在事件的整个生命周期都会得到维护
* 触摸事件的处理:
1. 重写touchesBegan:withEvent:方法,⽅法实现:NSLog输出指定⽅法名(Function
2. 重写touchesMove:withEvent:方法,方法实现:NSLog输出指定⽅法名(_Function
3. 重写touchesEnd:withEvent:方法,⽅法实现:NSLog输出指定方法名(Function
4. 并给当前视图的背景颜⾊色设

三 响应者链:
* 响应者链是一个响应者对象的连接序列. 事件或动作消息(或菜单编辑消息)依次传递.他允许响应者对象把事件处理的职责转交给其他更高层的对象.应用程序通过向上传递一个事件来查找合适的处理对象,因为点击检测视图也是一个响应者对象,应用程序在处理触摸事件时也可以利用响应者链响应.
* 由多个响应者对象组成的链.
* 响应者:
1. iOS中所有能响应事件(触摸,晃动,远程事件)的对象都是响应者
2. 系统定义了一个抽象的父类UIResponder来表示响应者.其子类都是响应者
* 检测碰撞视图:
1. 硬件检测到触摸操作,会将信息交给UIApplication,开始检测
2. UIApplication -> window -> viewController -> view -> 检测所有的子视图
3. 最终确认触碰位置,完成响应者链的查询过程
* 处理触摸事件:
1. 检测到响应者后,实现 touchesBegan:withEvent: 等方法,即处理事件
2. 如果响应者没有处理事件,事件会向下传递,如果没有响应者处理,则丢弃触摸事件
3. 事件处理的顺序与触摸检测查询相反
4. 触摸的子视图 -> view -> viewController -> window -> UIApplication
* 阻断响应链:
1. 响应者链可以被打断,无法完成检测查询过程
2. 视图类的属性: userInteractionEnable .关闭后能阻断查询过程

四 手势
* 手势识别器是iOS中比较抽象的一个类,用于识别一个手势——有规律的触碰
* 手势分类:
1. 轻拍手势
2. 平移手势
3. 轻扫手势
4. 缩放手势
5. 旋转手势
6. 长按手势
7. 屏幕边界平移手势
* 使用手势识别器:
1. UITapGestureRecognizer 轻拍手势识别器: 只能识别轻拍操作
2. UILongPressGestureRecognizer 长按手势识别器: 只能识别长按操作
3. UIRotationGestureRecognizer 旋转手势识别器: 只能识别旋转操作
4. UIPinchGestureRecognizer 捏合手势识别器: 只能识别捏合操作
5. UIPanGestureRecognizer 平移手势识别器: 只能识别拖拽操作
6. UISwipeGestureRecognizer 轻拍手势识别器: 之恩给你识别拖拽操作
7. UIScreenEdgePanGestureRecognizer 屏幕边远轻扫识别器
* 手势识别器
1. 创建UIxxxGestureRecognizer对象,使用initWithTarget:action:方法
2. 配置要识别的⼿势的相关信息
3. 将手势添加到某个视图上
4. 实现⼿势识别器⾥定义的⽅法
* View的transform属性
1. transform 是View的一个重要属性,它在矩阵层面上改变View的状态,能实现View的缩放, 旋转,平移等功能
2. 平移: CGAffineTransformMakeTranslation
3. 缩放: CGAffineTransformMakeScale
4. 旋转: CGAffineTransformMakeRotation

总结:
1. 事件的基本概念
2. 触摸的原理以及使用
3. 响应者链的作用
4. iOS的7种手势及使用,手势识别器是很常用的类

你可能感兴趣的:(UI)