手势

作者: 彼岸的黑色曼陀罗 | 来源:发表于2016-09-08 19:27 被阅读0次

监听触摸事件的做法

  • touches方法监听view触摸事件的缺点
    • 必须要自定义view
    • 无法让其他外界对象监听view的触摸事件
    • 不容易区分用户的具体手势行为
    • ios 3.2之后 手势识别

UIGestureRecognizer

  • 手势识别器
  • 抽象类,它的子类才能处理具体的手势
    • Tap
    • Pinch
    • Pan
    • Swipe
    • Rotation
    • LongPress
  • 点按手势 Tap

    • 创建手势
      • 点按手势Tap initWithTarget:action:
    • 添加手势
      • addGestureRecognizer:
    • 是否响应事件
  • 手势可以设置代理

    • UIGestureRecognizerDelegate
  • shouldReceiveTouch:是否允许接收手指

    • 获取当前手指的点
    • 判断哪个区域允许点按
  • 长按手势 LongPress

    • 长按移动时会持续调用
    • 判断手势状态
      • state(Began|Ended|Changed)
  • 清扫手势 swipe
    • 默认向右滑
    • 可以修改清扫方式
      • direction
    • 一个手势只能对应一个方向
  • 平移 Pan
    • 不需要计算偏移量
    • 直接获取偏移量
      • translationView:
      • 相对于最原始的位置
    • 平移,修改当前view的transform
      • 带Make,因为相对于最原始的点的,手指离开的时候,距离重新开始,会从原始的点继续开始
      • 不带Make,一拖拽,就飞出去了
    • 不让累加,清零
      • setTranslation:CGPoint(0,0)inView:
      • 相对于上一次走了多少
  • 旋转 Rotation
    • 获取旋转的度数
      • rotation,这个度数已经是一个弧度了
    • 旋转,self.transform
      • 带Make
      • 不带Make,清零 setRotation:0
    • 获取的度数也是最原始的弧度
  • 捏合(缩放) Pinch

    • 不带Make,清零复位
      • setScale:1
  • 默认情况下,只能同时支持一个手势,可以通过代理进行设置

    • 重写一下代理方法
    • getstureRecognizerSimultaneously
      • 同时的,return YES

相关文章

  • 手势

    点击手势 捏合手势 旋转手势 轻扫手势 拖拽手势 边缘平移手势 长按手势

  • iOS-手势详细参数说明

    敲击手势 长按手势 滑动手势 拖动手势 旋转手势 捏合手势 两种手势作用在同一个视图

  • 【iOS学习】——手势识别

    iOS 手势 手势需要开启用户交互 点击手势 单击手势 双击手势 添加 numberOfTapsRequired...

  • Swift - UIGestureRecognizer 各种手势

    1、点击手势2、拖动手势3、长按手势4、滑动手势5、捏合手势6、旋转手势 完整代码

  • iOS七种手势详解

    1、轻拍手势 2、捏合手势 3、旋转手势 4、平移手势 5、边缘轻扫手势 6、长按手势 7、轻扫手势 给image...

  • iOS手势总结

    1.轻拍手势 2.长按手势 3.轻扫手势 4.平移手势 5.捏合手势 6.旋转手势 7.边缘手势

  • iOS 手势

    修改时间: 2016-12-19修改次数: 0 手势传递 点击手势 捏合手势 轻扫手势 拖动手势 长按手势

  • iOS手势操作

    iOS手势有六种 手势类型: 手势状态: 创建View添加手势 1.轻点手势( UITapGestureRecog...

  • Vue手势

    点击手势 滑动手势 手势的方法

  • UI梳理——手势

    手势分类: 手势的创建: 方法的实现: 轻扫手势:UISwipeGestureRecognizer 长按手势: 以...

网友评论

      本文标题:手势

      本文链接:https://www.haomeiwen.com/subject/wrzsettx.html