UIGestureRecognizer手势 : 1-概要介绍


iOS一共提供了6种类型的手势操作,分别为:点击、捏合、旋转、滑动、拖动、长按。手势需要添加到UIView类以及其子类之上,同时每个UIView可以添加多个手势。

适合对象:中级学习者

运行环境:Xcode7 + iOS9

一、UIGestureRecognizer类简介

UIGestureRecognizer类是一个抽象类,不能直接使用,具体使用过程中需要使用其子类。UIGestureRecognizer一共包括6个子类,分别对应6种手势,即:

UITapGestureRecognizer:点击

UIPinchGestureRecognizer:捏合

UIRotationGestureRecognizer:旋转

UISwipeGestureRecognizer:滑动

UIPanGestureRecognizer:拖动,其又包含另外一个子类:UIScreenEdgePanGestureRecognizer

UILongPressGestureRecognizer:长按

二、UIGestureRecognizer创建方法

创建一个UIGestureRecognizer子类对象需要有4个步骤:

创建一个UIView类的对象;

创建一个手势类对象,并使用- initWithTarget:action:方法进行对象初始化,设置当手势事件发生时,调用的方法;

为UIView对象添加手势,使用 addGestureRecognizer:方法;

实现手势事件发生时所调用的方法。

三、UIGestureRecognizer类常用属性以及方法

3.1 初始化手势

– (instancetype)initWithTarget:(nullable id)target action:(nullable SEL)action;//初始化手势对象,并设置手势发生时调用的方法

3.2 获取手势点击的位置

– (CGPoint)locationOfTouch:(NSUInteger)touchIndex inView:(nullable UIView*)view; // 获取手势点击的位置;

3.3 获取手势点击的状态和视图

@property(nonatomic,readonly)UIGestureRecognizerStatestate;

其中:常用的UIGestureRecognizerState有:

UIGestureRecognizerStateBegan:开始手势事件

UIGestureRecognizerStateEnded:结束手势事件

UIGestureRecognizerStateChanged:手势位置发生变化

UIGestureRecognizerStateFailed:无法识别的手势

@property(nullable,nonatomic,readonly)UIView*view;//手势事件对应的视图对象

你可能感兴趣的:(UIGestureRecognizer手势 : 1-概要介绍)