`
yidongkaifa
  • 浏览: 4051630 次
文章分类
社区版块
存档分类
最新评论

UITapGestureRecognizer 手势使用方法

 
阅读更多

写一个例子吧:

ViewController.h里

#import <UIKit/UIKit.h>


@interface ViewController : UIViewController<UIGestureRecognizerDelegate>


@end


ViewController.m里

#import "ViewController.h"


@interface ViewController ()


@end


@implementation ViewController


- (void)viewDidLoad

{

[super viewDidLoad];

/*单指单击*/

UITapGestureRecognizer *singleFingerOne = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(handleSingleFingerEvent:)];

singleFingerOne.numberOfTouchesRequired = 1; //手指

singleFingerOne.numberOfTapsRequired = 1; //tap次数

singleFingerOne.delegate = self;

/*单指双击*/

UITapGestureRecognizer *singleFingerTwo = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(handleSingleFingerEvent:)];

singleFingerTwo.numberOfTouchesRequired = 1;

singleFingerTwo.numberOfTapsRequired = 2;

singleFingerTwo.delegate = self;

/*双指单击*/

UITapGestureRecognizer *doubleFingerOne = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(handleDoubleFingerEvent:)];

doubleFingerOne.numberOfTouchesRequired = 2;

doubleFingerOne.numberOfTapsRequired = 1;

doubleFingerOne.delegate = self;

UITapGestureRecognizer *doubleFingerTwo = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(handleDoubleFingerEvent:)];

doubleFingerTwo.numberOfTouchesRequired = 2;

doubleFingerTwo.numberOfTapsRequired = 2;

doubleFingerTwo.delegate = self;

//如果不加下面的话,当单指双击时,会先调用单指单击中的处理,再调用单指双击中的处理

[singleFingerOne requireGestureRecognizerToFail:singleFingerTwo];

//双指也是如此

[doubleFingerOne requireGestureRecognizerToFail:doubleFingerTwo];

[self.view addGestureRecognizer:singleFingerOne];

[self.view addGestureRecognizer:singleFingerTwo];

[self.view addGestureRecognizer:doubleFingerOne];

[self.view addGestureRecognizer:doubleFingerTwo];

[singleFingerOne release];

[singleFingerTwo release];

[doubleFingerOne release];

[doubleFingerTwo release];

}

//处理事件的方法:

-(void)handleSingleFingerEvent:(UITapGestureRecognizer *)sender{

if(sender.numberOfTapsRequired == 1){

NSLog(@"单指单击");

}else if (sender.numberOfTapsRequired == 2){

NSLog(@"单指双击");

}

}

-(void)handleDoubleFingerEvent:(UITapGestureRecognizer *)sender{

if(sender.numberOfTapsRequired == 1){

NSLog(@"双指单击");

}else if (sender.numberOfTapsRequired == 2){

NSLog(@"双指双击");

}


}

- (void)didReceiveMemoryWarning

{

[super didReceiveMemoryWarning];

// Dispose of any resources that can be recreated.

}


@end



分享到:
评论

相关推荐

    ios-手势控制:点击、滑动、平移、捏合、旋转、长按、轻扫.zip

    只能使用UIGestureRecognizer的子类识别手势,每一个子类识别一个特定的手势。详细介绍。 这个demo使用了以下七种手势: 1. UITapGestureRecognizer 2. UISwipeGestureRecognizer 3. UIPanGestureRecognizer 4. ...

    iOS手势识别的详细使用方法(拖动,缩放,旋转,点击,手势依赖,自定义手势)

    手势识别在iOS上非常重要,手势操作移动设备的重要特征,极大的增加了移动设备使用便捷性。 1、UIGestureRecognizer介绍 手势识别在iOS上非常重要,手势操作移动设备的重要特征,极大的增加了移动设备使用便捷性。 ...

    iOS开发之手势gesture详解

    在iOS中,你可以使用系统内置的手势识别(GestureRecognizer),也可以创建自己的手势.GestureRecognizer将低级别的转换为高级别的执行行为,是你绑定到view的对象,当发生手势,绑定到的view对象会响应,它确定这个...

    IOS开发之手势响应事件优先级的实例详解

    IOS开发之手势响应事件优先级的实例详解 交互响应事件都是通过手势的操作完成的,如点击、或双击、或长按,这些交互都是在视图中完成的,但是不同的视图可能会有不同的交互,有时候就会出现交互响应事件冲突的情况。...

    iOS开发之手势识别

    我们已经学习了触摸事件处理,但触摸事件处理起来很麻烦,每个触摸事件处理都需要实现3个touches方法,比较繁琐,实际上我们可以使用更加简单的触摸事件处理操作,那就是 手势识别UIGestureRecognizer 。 手势识别...

    IOS中各种手势操作实例代码

    IOS中手势操作一般是 UIGestureRecognizer 类的几个手势子类去实现,一般我们用到的手势就这么5种: 1、点击 UITapGestureRecognizer 2、平移 UIPanGestureRecognizer 3、缩放 UIPinchGestureRecognizer 4、旋转...

    IOS手势操作(拖动、捏合、旋转、点按、长按、轻扫、自定义)

    下面通过图文并茂的方式给...iOS 系统在 3.2 以后,他提供了一些常用的手势(UIGestureRecognizer 的子类),开发者可以直接使用他们进行手势操作。 UIPanGestureRecognizer(拖动) UIPinchGestureRecognizer(捏合) ...

    ios关于手势

    1、拍击UITapGestureRecognizer (任意次数的拍击) 2、向里或向外捏UIPinchGestureRecognizer (用于缩放) 3、摇动或者拖拽UIPanGestureRecognizer 4、擦碰UISwipeGestureRecognizer (以任意方向) 5、旋转...

    IOS 手势操作详解及实例总结篇

    iOS手势操作总结 手势操作种类 UITapGestureRecognizer: 敲击,点击 ...手势操作的代理方法(UIGestureRecognizerDelegate) 手势可能发生的条件,返回NO可以阻止此手势的发生或者此手势不产生任何效果 - (BOOL)gestu

    开发绘图、手势综合App注意点

    对于 UITapGestureRecognizer 来说我们一般需要知道该点击手势在屏幕中的位置 (locationInView:self) 对于 UIPanGestureRecognizer 来说我们一般需要知道我们的滑动手势移动了多少距离 (translationInView:pan)...

    TVAnimationsGestures-Swift:这是一个简单的可展开可合并的表视图,用Swift语言编写

    UITapGestureRecognizer点击手势来展开或收缩头部表视图 UIPinchGestureRecognizer缩放手势允许用户改变单元格的高度 UILongPressGestureRecognizer长按手势允许用户按住表视图的单元格来弹出一个发送邮件的小按钮...

    IOS 开发之swift中手势的实例详解

    IOS 开发之swift中手势的实例详解 手势操作主要包括如下几类 手势 属性 说明 点击 UITapGestureRecognizer numberOfTapsRequired:点击的次数;numberOfTouchesRequired:点击时有手指数量 设置属性 ...

    iOS自定义水平滚动条、进度条

    简单说一下逻辑,新建一个继承UIView的类,分别给轨道、滑块添加UITapGestureRecognizer点击、UIPanGestureRecognizer滑动手势。获取偏移量,计算控件位置,刷新视图。 下面贴上核心代码: 显示视图,在控制器调用...

Global site tag (gtag.js) - Google Analytics