[关闭]
@chenbinghua 2015-09-16T11:15:11.000000Z 字数 950 阅读 1337

iOS开发之手势识别

iOS笔记


前言

怎样监听一个没有继承UIControl的控件,比如说一个纯净的UIView,以前的做法是:

通过touches方法监听view触摸事件,有很明显的几个缺点:

手势识别器UIGestureRecognizer

iOS 3.2之后,苹果推出了手势识别功能(Gesture Recognizer),在触摸事件处理方面,大大简化了开发者的开发难度

为了完成手势识别,必须借助于手势识别器----UIGestureRecognizer

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

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

手势识别器使用

每一个手势识别器的用法都差不多,比如UITapGestureRecognizer的使用步骤如下

  1. 创建手势识别器对象
  2. UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] init];
  3. 设置手势识别器对象的具体属性
  4. // 连续敲击2次
  5. tap.numberOfTapsRequired = 2;
  6. // 需要2根手指一起敲击
  7. tap.numberOfTouchesRequired = 2;
  8. 添加手势识别器到对应的view
  9. [self.iconView addGestureRecognizer:tap];
  10. 监听手势的触发
  11. [tap addTarget:self action:@selector(tapIconView:)];
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注