GestureRecognizer

UIGestureRecognizer基类是一个抽象类,我们主要是使用它的子类(名字包含链接,可以点击跳到ios Developer library,看官方文档):

UITapGestureRecognizer

UIPinchGestureRecognizer

UIRotationGestureRecognizer

UISwipeGestureRecognizer

UIPanGestureRecognizer

UILongPressGestureRecognizer

从名字上我们就能知道, Tap(点击)、Pinch(捏合)、Rotation(旋转)、Swipe(滑动,快速移动,是用于监测滑动的方向的)、Pan (拖移,慢速移动,是用于监测偏移的量的)以及 LongPress(长按)。

- (void)viewDidLoad

{

[super viewDidLoad];

UITapGestureRecognizer *gesture=[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapClick:)];

[self.view addGestureRecognizer:gesture];

gesture.numberOfTapsRequired=1;

gesture.numberOfTouchesRequired=1;

}

-(void)tapClick:(UITapGestureRecognizer *)gesture{

}

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event  //手指触摸屏幕时报告UITouchPhaseBegan事件

{

}

- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event   //在手指在屏幕上移动时报告UITouchPhaseMoved事件

{

}

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event   //在手指离开屏幕时报告UITouchPhaseEnded事件

{

}

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event    //在因接听电话或其他因素导致取消触摸时报告

{

}

时间: 2024-11-10 13:27:18

GestureRecognizer的相关文章

手势(5)——利用GestureRecognizer

#import "MJmainViewController.h" @interface MJmainViewController () @end @implementation MJmainViewController - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil{    self = [super initWithNibName:nibNameOrNil bundle:

iOS中touches事件,addtarget ...action和GestureRecognizer详解

刚学完uiview,uicontrol类,许多人知道 touchesBegain,touchesMoved,touchesEnd,GestureRecognizer的用途,但仔细考虑这些事件之间的关系,却令人头疼. 现在以一个例子来分析它们的内部实现: - (void)viewDidLoad { UIButton * btn=[[UIButton alloc]initWithFrame:CGRectMake(20, 40, 50, 50)]; [self.view addSubview:btn]

用Swift GestureRecognizer 的几个注意点

最近做了一些关于 GestureRecognizer 的工作 ,随笔记录一些需要注意的点: 1. PanGestureRecognizer (1)在使用时 注意在哪个view添加了 手势识别 self.view.addGestureRecognizer(panRecognizer) 不然会出现一些 不必要的识别操作和响应 (2)如果想 把手势控制做成 slider : 注意点: I.  state :这里是自带的state有三个 began , changed , ended 在began的时候

手势识别器GestureRecognizer

先放在这里  改天来修改 #import "ViewController.h" @interface ViewController () @property (weak, nonatomic) IBOutlet UIImageView *imgView; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; _imgView.userInteractionEnabled = YES;

事件分发(hitTest:withEvent: 、Response Chain) 与 GestureRecognizer

事件分发hitTest:withEvent: .响应者链(Response Chain)  和 Gesture Recognizers(手势识别器)  联系. 事件传递之响应链(Event Delivery: The Responder Chain)[转] 内容里我添加了Gesture Recognizers  与 事件分发内容.应该比较全面. 涉及一下三张图: 一. Gesture Reconnizers  和 hitTest:withEvent:  关系: Gesture Recognize

UIKit框架(16)手势识别器

UIGestureRecognizer 利用手势识别器,能够轻松识别用户在某个view上面做一些常见的手势 UIGestureRecognizer是一个抽象类,定义了所有手势的基本行为,使用它的子类才能处理具体的手势 UITapGestureRecognizer                敲击 UIPinchGestureRecognizer            捏合手势 UIPanGestureRecognizer               拖拽 UISwipeGestureRecog

009-手势触摸事件处理

问题一:iOS中有哪些事件? •在用户使用app过程中,会产生各种各样的事件 •iOS中的事件可以分为3大类型 问题二:什么叫响应者对象? •在iOS中不是任何对象都能处理事件,只有继承了UIResponder的对象才能接收并处理事件.我们称之为“响应者对象” •UIApplication.UIViewController.UIView都继承自UIResponder,因此它们都是响应者对象,都能够接收并处理事件 问题三:UIResponder内部提供了哪些处理事件的方法来处理事件? •UIRes

PSCollectionView瀑布流实现

[-] 一基本原理 二具体实现 相关数据结构 视图更新方式 relayoutViews方法 removeAndAddCellsIfNecessary方法 select方法 重用数据块视图机制 三使用方法 四其他瀑布流实现 PSCollectionView是一个实现较简洁的仿Pinterest瀑布流iOS版实现,使用UIScrollView做容器,每列列宽固定,高度可变,使用方式类似UITableView.其效果如图: 一.基本原理 其基本实现原理为: 列数固定,根据列数每列存储一个当前列的高度值

iOS 无限轮播图的两种实现

首先说一下实现的思想: 用UIScrollView实现,在scrollView上添加3个UIImageView,分别用来显示上一张图片,当前显示的图片,下一张图片.scrollView在不滑动的时候永远显示当前图片(第二张图片)即contentOffset = CGPointMake(scrollViewW,0),在滑动的时候可以预览部分上一张图片或下一张图片.现在以向左滑动为例,因为已经设置好三张图片,我们向左滑动可以看到下一张图片的一部分(此时屏幕显示着部分当前图片和部分下一张图片).如果完