您的位置:首页 > 产品设计 > UI/UE

UIGestureRecognizer

2016-09-09 09:45 253 查看
•为了完成手势识别,必须借助于手势识别器----UIGestureRecognizer

•利用UIGestureRecognizer,能轻松识别用户在某个view上面做的一些常见手势

•UIGestureRecognizer是一个抽象类,定义了所有手势的基本行为,使用它的子类才能处理具体的手势
ØUITapGestureRecognizer(敲击)
ØUIPinchGestureRecognizer(捏合,用于缩放)
ØUIPanGestureRecognizer(拖拽)
ØUISwipeGestureRecognizer(轻扫)
ØUIRotationGestureRecognizer(旋转)
ØUILongPressGestureRecognizer(长按)

•每一个手势识别器的用法都差不多,比如UITapGestureRecognizer的使用步骤如下
Ø创建手势识别器对象
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] init];

Ø设置手势识别器对象的具体属性
// 连续敲击2次

tap.numberOfTapsRequired = 2;

// 需要2根手指一起敲击

tap.numberOfTouchesRequired = 2;

Ø添加手势识别器到对应的view上
[self.iconView addGestureRecognizer:tap];

Ø监听手势的触发
[tap addTarget:self action:@selector(tapIconView:)];

手势识别的状态

typedef NS_ENUM(NSInteger, UIGestureRecognizerState) {

// 没有触摸事件发生,所有手势识别的默认状态

UIGestureRecognizerStatePossible,

// 一个手势已经开始但尚未改变或者完成时

UIGestureRecognizerStateBegan,

// 手势状态改变

UIGestureRecognizerStateChanged,

// 手势完成

UIGestureRecognizerStateEnded,

// 手势取消,恢复至Possible状态

UIGestureRecognizerStateCancelled,

// 手势失败,恢复至Possible状态

UIGestureRecognizerStateFailed,

// 识别到手势识别

UIGestureRecognizerStateRecognized = UIGestureRecognizerStateEnded

};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: