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

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

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

这里写图片描述
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容