美文网首页
手势的理解

手势的理解

作者: BigBossZhu | 来源:发表于2017-02-28 11:47 被阅读35次

手势的理解:

首先有一个父类UIGestureRecognizer是虚拟类,他的几个子类是我们需要使用到的常见手势,跳进文档里面
Overview
The concrete subclasses of UIGestureRecognizer are the following:

•   UITapGestureRecognizer 
•   UILongPressGestureRecognizer
•   UISwipeGestureRecognizer
•   UIPinchGestureRecognizer
•   UIRotationGestureRecognizer
•   UIPanGestureRecognizer
•   UIScreenEdgePanGestureRecognizer
  1. 轻敲手势Tap
  2. 长按手势:LongPress
  3. 轻扫手势:swipe
  4. 捏合:pinch
  5. 旋转:Rotation
  6. 拖拽,吸附Pan
  7. 暂无实际用处UIPanGestureRecognizer的子类.边缘拖动的意思

属性

加手势,怎么加?UIView就有直接加这些手势的方法
** UIView (UIViewGestureRecognizers)分类,所以控件都可以使用 **
1. 添加手势
addGestureRecognizer:
2. 移除手势
removeGestureRecognizer
3. 是否接收一个手势触摸事件,默认为YES,返回NO为不接收
gestureRecognizerShouldBegin

state 状态(很多种状态,从开始到结束)
enabled 是否有效
view 触摸的视图
cancelsTouchesInView 取消触摸控件的响应.
delaysTouchesBegan. 触摸事件延时开始
UIGestureRecognizerDelegate(重点)
方法
initWithTarget 给手势对象添加事件
removeTarget 移除事件
requireGestureRecognizerToFail 多个手势时如何触发
// 关键在这一行,如果双击确定偵測失败才會触发单击
[singleRecognizer requireGestureRecognizerToFail:doubleRecognizer]
locationInView 触摸点坐标
numberOfTouches 触摸点数
locationOfTouch 多指触摸的触摸点相对于指定视图的位置

代理

1. gestureRecognizerShouldBegin:开始手势识别
2. - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch;手指触摸屏幕后回调的方法,返回NO则不再进行手势识别,方法触发等
例子:UITapGestureRecognizer和UIButton的点击事件冲突的解决办法
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch{    
if ([touch.view isKindOfClass:[UIButton class]])    { 
       return NO;    }   
       return YES;
}

3. - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceivePress:(UIPress *)press;同上表示按压

4. 是否支持多手势触发
shouldRecognizeSimultaneouslyWithGestureRecognizer

使用

代码部分

< 1. UITapGestureRecognizer两个属性
1、numberOfTapsRequired;
2、numberOfTouchesRequired;
// 设置能识别到手势的最少的轻触次数
tap.numberOfTapsRequired = 3;
// 设置能识别到手势的最少的手指的个数
tap.numberOfTouchesRequired = 2;

< 2. UILongPressGestureRecognizer
1、numberOfTapsRequired;
2、numberOfTouchesRequired;
3、minimumPressDuration;
4、allowableMovement;

< 3. UISwipeGestureRecognizer
1、direction方向

< 4. UIRotationGestureRecognizer
1. rotation角度
注意这个手势只是用来监听你的双手旋转的,真的让控件转动还是需要使用transform才行

< 5. UIPanGestureRecognizer
1. 方法:translationInView可以获取手势的点

< 6.UIPinchGestureRecognizer
1. scale缩放比例

用法都是大同小异没啥特点的

相关文章

  • 手势的理解

    手势的理解: 首先有一个父类UIGestureRecognizer是虚拟类,他的几个子类是我们需要使用到的常见手势...

  • 实战1.2-利用手势识别器,实现视图的手势控制

    title: 实战1.2-利用手势识别器,实现视图的手势控制 知识预备 什么是仿射变换? 从视觉效果上来理解,仿射...

  • Gestures(手势)的使用和理解

    GestureListener详解 GestureListener 他给我们提供了下述的回调方法: 按下(onDo...

  • 赵熊猫关于iOS的文章索引

    1.Runtime的个人理解 2.Runloop的个人理解 3.iOS - 关于UIView中添加手势监听和tab...

  • iOS解决手势点击和按钮点击事件冲突?

    在开发中有可以会遇见这样的问题,添加手势的同时,会和点击事件冲突。这是由于手势是大哥,点击事件是小弟,可以理解为手...

  • swift下实现手势解锁

    发散 理解手势生命周期可以实现类似 水果忍者,还有笔画的效果

  • 手势

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

  • iOS 手势详解

    手势识别 手势识别器将抽像度低的事件操作转化为更容易理解的动作,它们是附加在视图上的对象,并允许对这些动作进行回应...

  • Vue手势

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

  • UI梳理——手势

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

网友评论

      本文标题:手势的理解

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