UIGestureRecognizer是一个抽象类,定义了所有手势的基本行为,它有6个子类处理具体的手势:

1.UITapGestureRecognizer (任意手指任意次数的点击)

// 点击次数

numberOfTapsRequired

// 手指个数

numberOfTouchesRequired

  1. UITapGestureRecognizer *tapGestureRecognizer = [[UITapGestureRecognizer alloc] init];
  2. [tapGestureRecognizer addTarget:self action:@selector(gestureRecognizerHandle:)];
  3. [tapGestureRecognizer setNumberOfTapsRequired:2];
  4. [tapGestureRecognizer setNumberOfTouchesRequired:2];
  5. [self.view addGestureRecognizer:tapGestureRecognizer];
  6. [tapGestureRecognizer release];

 

2.UIPinchGestureRecognizer (两个手指捏合动作)

// 手指捏合,大于1表示两个手指之间的距离变大,小于1表示两个手指之间的距离变小

scale

// 手指捏合动作时的速率(加速度)

velocity

  1. UIPinchGestureRecognizer *pinchGestureRecognizer = [[UIPinchGestureRecognizer alloc] init];
  2. [pinchGestureRecognizer addTarget:self action:@selector(gestureRecognizerHandle:)];
  3. [self.view addGestureRecognizer:pinchGestureRecognizer];
  4. [pinchGestureRecognizer release];

3.UIPanGestureRecognizer (摇动或者拖拽)

// 最少手指个数

minimumNumberOfTouches

// 最多手指个数

maximumNumberOfTouches

  1. UIPanGestureRecognizer *panGestureRecognizer = [[UIPanGestureRecognizer alloc] init];
  2. [panGestureRecognizer addTarget:self action:@selector(gestureRecognizerHandle:)];
  3. [panGestureRecognizer setMinimumNumberOfTouches:1];
  4. [panGestureRecognizer setMaximumNumberOfTouches:5];
  5. [self.view addGestureRecognizer:panGestureRecognizer];
  6. [panGestureRecognizer release];

4.UISwipeGestureRecognizer (手指在屏幕上滑动操作手势)

// 滑动手指的个数

numberOfTouchesRequired

// 手指滑动的方向 (Up,Down,Left,Right)

direction

  1. UISwipeGestureRecognizer *swipeGestureRecognizer = [[UISwipeGestureRecognizer alloc] init];
  2. [swipeGestureRecognizer addTarget:self action:@selector(gestureRecognizerHandle:)];
  3. [swipeGestureRecognizer setNumberOfTouchesRequired:2];
  4. [swipeGestureRecognizer setDirection:UISwipeGestureRecognizerDirectionRight];
  5. [self.view addGestureRecognizer:swipeGestureRecognizer];
  6. [swipeGestureRecognizer release];

5.UIRotationGestureRecognizer (手指在屏幕上旋转操作)

// 旋转方向,小于0为逆时针旋转手势,大于0为顺时针手势

rotation

// 旋转速率

velocity

  1. UIRotationGestureRecognizer *rotationGestureRecognizer = [[UIRotationGestureRecognizer alloc] init];
  2. [rotationGestureRecognizer addTarget:self action:@selector(gestureRecognizerHandle:)];
  3. [self.view addGestureRecognizer:rotationGestureRecognizer];
  4. [rotationGestureRecognizer release];

6.UILongPressGestureRecognizer (长按手势)

// Default is 0. The number of full taps required before the press for gesture to be recognized

numberOfTapsRequired

// 需要长按的手指的个数

numberOfTouchesRequired

// 需要长按的时间,最小为0.5s

minimumPressDuration

// 手指按住允许移动的距离

allowableMovement

    1. UILongPressGestureRecognizer *longPressGestureRecognizer = [[UILongPressGestureRecognizer alloc] init];
    2. [longPressGestureRecognizer addTarget:self action:@selector(gestureRecognizerHandle:)];
    3. [longPressGestureRecognizer setMinimumPressDuration:1.0f];
    4. [longPressGestureRecognizer setAllowableMovement:50.0];
    5. [self.view addGestureRecognizer:longPressGestureRecognizer];
    6. [longPressGestureRecognizer release];

IOS手势UIGestureRecognizer的更多相关文章

  1. iOS手势UIGestureRecognizer的使用失效问题

    问题:视图正常展示在界面中,父层是放在window上的,底部的一个控件的点击事件失效(所有设置都正常) 解决思路:虽然视图能够正常展示,但是发现父类视图的底部尺寸比子类的视图的尺寸小,也就是说上层视图 ...

  2. iOS手势UIGestureRecognizer的使用及手势冲突的解决办法【转】

    转自:iOS开发中的手势体系——UIGestureRecognizer分析及其子类的使用 关于手势的一篇很好的帖子,转载过来免得丢失.你可能最感兴趣的是手势间的互斥处理,那么就搜索 4.手势间的互斥处 ...

  3. 使用iOS手势UIGestureRecognizer

    UIKit中包含了UIGestureRecognizer类,用于检测发生在设备中的手势.UIGestureRecognizer是一个抽象类,定义了所有手势的基本行为,它有下面一些子类用于处理具体的手势 ...

  4. 点击事件touches与ios的手势UIGestureRecognizer

    .h文件 @property (weak,nonatomic) IBOutlet UILabel *messageLabel;@property (weak,nonatomic) IBOutlet U ...

  5. [BS-25] IOS中手势UIGestureRecognizer概述

    IOS中手势UIGestureRecognizer概述 一.概述 iPhone中处理触摸屏的操作,在3.2之前是主要使用的是由UIResponder而来的如下4种方式: - (void)touches ...

  6. iOS手势学习UIGestureRecognizer & cocos2d 手势推荐

    iOS手势学习UIGestureRecognizer & cocos2d 手势推荐 手势识别类型: UILongPressGestureRecognizer  // 长按UIPanGestur ...

  7. ios手势

    iOS 手势操作:拖动.捏合.旋转.点按.长按.轻扫.自定义 大 中 小   1.UIGestureRecognizer 介绍 手势识别在 iOS 中非常重要,他极大地提高了移动设备的使用便捷性. i ...

  8. iOS手势处理

    iOS手势处理 iOS手势有着如下几种: UITapGestureRecognizer UIPinchGestureRecognizer UIRotationGestureRecognizer UIS ...

  9. iOS Programming UIGestureRecognizer and UIMenuController

    iOS  Programming  UIGestureRecognizer and UIMenuController A UIGestureRecognizer intercepts touches ...

随机推荐

  1. signal(SIGPIPE, SIG_IGN)

    文章来源:http://blog.163.com/niuxiangshan@126/blog/static/170596595201221942952676/   当服务器close一个连接时,若cl ...

  2. Hibernate映射一对多双向关联关系及部门关联属性

    一对多双向关联关系:(Dept/Emp的案例) 既可以根据在查找部门时根据部门去找该部门下的所有员工,又能在检索员工时获取某个员工所属的部门. 步骤如下: 1.构建实体类(部门实体类加set员工集合) ...

  3. github提交失败并报错java.io.IOException: Authentication failed:

    一.概述 我最近在写一个android的项目. 软件:android studio.Android studio VCS integration(插件) Android studio VCS inte ...

  4. c#...的类型初始值设定项引发异常。

    今天一直遇到这个问题

  5. hibernate 中如何用注解映射定长字符类型char(2)

    如果是用xml的方式配置映射,可以在<column>标签的sql-type属性中设置char(2),比如: <property name="age" type=& ...

  6. 20145334 第五次 java 实验报告

    实验内容 1.掌握Socket程序的编写: 2.掌握密码技术的使用: 3.设计安全传输系统. 我和20145306张文锦组队编程 http://www.cnblogs.com/besti145306/ ...

  7. Windows Server 2003修改远程桌面最大连接数的方法

    Windows Server 2003远程桌面允许的终端连接数默认情况下只有2个线程,也就是2个用户,当我们需要多人同时登录服务器的时候,就需要适当增加远程连接同时在线的用户数. 修改远程桌面最大连接 ...

  8. Codeforces Round #350 (Div. 2) D2 二分

    五一期间和然然打的团队赛..那时候用然然的号打一场掉一场...七出四..D1是个数据规模较小的题 写了一个暴力过了 面对数据如此大的D2无可奈何 现在回来看 一下子就知道解法了 二分就可以 二分能做多 ...

  9. 手机端开发icon的问题

    一般来说,手机端的图片能用字体(字体小的情况下)的话,效果更好,因为不受图片缩放的失真影响. 但是有时,用位图的话,图片材料要高清晰,用jpg的高质量. 另外,有彩图与灰度图的情况下,考虑使用css3 ...

  10. react-native win7环境搭建

    时间:2016-08-22 晚,西安 1.安装jdk java version "1.6.0_45"Java(TM) SE Runtime Environment (build 1 ...