事件的处理机制和手势的操作

事件的处理机制和手势的操作

iOS中的事件分发##

事件的分类###

  1. Touch Events(多点触摸事件)

视图的exclusiveTouch设置为YES防止多点触碰都有事件发生。

- touchesBegan:withEvent:方法:一个或多个手指置于视图或窗口上
- touchesMoved:withEvent:方法:一个或多个手指在移动
- touchesEnded:withEvent:方法:一个或多个手指离开视图或窗口
- touchesCancelled:withEvent:方法:如果其他系统事件(如内存不足警告)使得触摸被取消
  1. Motion Events(运动事件)

    • motionBegan:withEvent:方法:运动事件开始
    • motionEnded:withEvent:方法:运动事件结束
    • motionCancelled:withEvent:方法:运动事件取消
  2. Remote-Control Events(远程控制事件)

    • remoteControlReceivedWithEvent:方法:接收到远程控制事件

事件的分发机制###

问题:当有多个重叠的UIView时,谁是第一响应者

  1. 默认的点击顺序是按照UIView中subviews的逆顺序
  2. 如果UIView的同级别subviews中有重叠的部分,则优先检查顶部的subview,如果顶部的subview返回nil,再检查底部的subview。

iOS中的手势操作##

  手势操作是通过使用者的手指触控,计算手指移动轨迹、坐标,然后对程序做相应处理的过程。手势操作需要添加手势识别器,所有手势识别器公共的父类是UIGestureRecognizer。

各种手势的使用###

  • 点击手势:UITapGestureRecognizer

  • 长按手势:UILongPressGestureRecognizer

  • 旋转手势:UIRotationGestureRecognizer

  • 捏合手势:UIPinchGestureRecognizer

  • 滑动手势:UISwipeGestureRecognizer

  • 拖动手势:UIPanGestureRecognizer

事件的处理机制和手势的操作_第1张图片
这里写图片描述

你可能感兴趣的:(事件的处理机制和手势的操作)