UIKit框架(16)手势识别器

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UIKit框架(16)手势识别器相关的知识,希望对你有一定的参考价值。

  • UIGestureRecognizer

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

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

     UITapGestureRecognizer                敲击

     UIPinchGestureRecognizer            捏合手势

     UIPanGestureRecognizer               拖拽

     UISwipeGestureRecognizer           轻扫

     UIRotationGestureRecognizer       旋转

     UILongPressGestureRecognizer    长按



  • 手势识别器使用的一般步骤 (以敲击手势为例)

创建手势识别器对象

UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc] init];

     

设置手势识别器对象的具体属性 :

//连续敲击2次且两根手指敲击时响应
tap.numberOfTapsRequired = 2;
tap.numberOfTouchesRequired = 2;


添加手势识别器到view上 :

[self.iconView addGestureRecognizer:tap];


监听手势的触发 :

[tap addTarger:self action:@selector(tapIconView:)];


实现触发的方法

- (void) tapIconView:(UITapGestureRecognizer*) tapGR
{
    NSLog(@"tap响应");
}

     

  • 手势识别器的状态

    技术分享


  • 手势识别器的代理

代理协议<UIGestureRecognizerDelegate>

//是否接受这个touch对象(默认返回YES),这个代理方法在一个触摸事件产生时先调用
- (BOOL) gestureRecognizer:(UIGestureRecognizer*) gestureRecognizer shouldReceiveTouch:(UITouch*) touch;
//确定两个类似的手势识别器是否同时处理
- (BOOL) gestureRecognizer:(UIGestureRecognizer*) gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer*) otherGestureRecognizer;







本文出自 “teacherAn” 博客,请务必保留此出处http://annmeng.blog.51cto.com/3321237/1746138

以上是关于UIKit框架(16)手势识别器的主要内容,如果未能解决你的问题,请参考以下文章

带有平移、旋转和捏合手势的 UIKit Dynamics

识别 UIView 中的滑动手势以使用手势识别器滚动滚动视图

ui scrollview 中没有手势识别器 uiimageview

iOS开发之旅手势解锁

如何在 UIKit 中调试谁在吃我的触摸?

GestureRecognizers