zoukankan      html  css  js  c++  java
  • 手势识别 ios

     1 /**
     2  UIKit中包含了UIGestureRecognizer类,用于检测发生在设备中手势。
     3  UIGestureRecognizer是一个抽象类,定义了所有手势的基本行为,他有下面一些子类用于处理具体的手势:
     4  1.拍击UITapGestureRecognizer(任意次数的拍击)
     5  2.向里或向外捏 UIPinchGestureRecognizer(用于缩放)
     6  3.摇动或者拖拽 UIPanGestureRecognizer
     7  4.滑动 UISwipeGestureRecoginzer(以任意方向)
     8  5.旋转 UIRotationGestureRecoginzer (手指朝相反方向移动)
     9  6.长按 UILongPressGestureRecoginzer
    10  
    11  对于不同类型的手势识别器,具有不同的配置属性。比如UITapGestureRecognizer,可以配置拍击次数。界面接收到手势之后,可以发送一 个消息,用于处理响应手势动作后的任务。当然,不同的手势识别器,发送的消息方法也会有所不同。下面列举几个具体示例代码:
    12  */
    13 
    14 
    15 #pragma mark 一个手指,拍击两次手势
    16 -(void)test1{
    17     UITapGestureRecognizer *oneFingerTwoTaps =  [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(oneFingerTwoTaps)];
    18     // Set required taps and number of touches
    19     //敲击次数 随意设,不过一般情况都是不多于2此
    20     [oneFingerTwoTaps setNumberOfTapsRequired:2];
    21     //敲击手指数 随意设,不过要考虑用户使用
    22     [oneFingerTwoTaps setNumberOfTouchesRequired:1];
    23     
    24     // Add the gesture to the view
    25     //添加到View
    26     [self.view addGestureRecognizer:oneFingerTwoTaps];
    27 }
    28 //消息方法
    29 -(void)oneFingerTwoTaps
    30 {
    31     NSLog(@"敲击了。。。");
    32 }
    33 
    34 #pragma mark 一个手指滑动手势
    35 -(void)test2
    36 {
    37     UISwipeGestureRecognizer *oneFingerSwipeUp = [[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(oneFingerSwipeUp:)];
    38     
    39     
    40     //滑动方向<#(UISwipeGestureRecognizerDirection)#>枚举类型
    41     /*
    42      UISwipeGestureRecognizerDirectionRight = 1 << 0,
    43      UISwipeGestureRecognizerDirectionLeft  = 1 << 1,
    44      UISwipeGestureRecognizerDirectionUp    = 1 << 2,
    45      UISwipeGestureRecognizerDirectionDown  = 1 << 3
    46      */
    47     [oneFingerSwipeUp setDirection:UISwipeGestureRecognizerDirectionUp ];
    48     [self.view addGestureRecognizer:oneFingerSwipeUp];
    49 }
    50 //消息方法
    51 -(void)oneFingerSwipeUp:(UISwipeGestureRecognizer *)recognizer
    52 {
    53     CGPoint point = [recognizer locationInView:self.view];
    54    NSLog(@"上滑 - start location: %f,%f", point.x, point.y);
    55 }
    56 
    57 #pragma mark 旋转手势
    58 -(void)test3
    59 {
    60     UIRotationGestureRecognizer *twoFingersRoatate = [[UIRotationGestureRecognizer alloc]initWithTarget:self action:@selector(twoFingersRotate:)];
    61     [self.view addGestureRecognizer:twoFingersRoatate];
    62     
    63 }
    64 -(void)twoFingersRotate:(UIRotationGestureRecognizer *)recognizer
    65 {
    66     NSLog(@"Rotation in degrees since last change: %f", [recognizer rotation] * (180 / M_PI));
    67 }
  • 相关阅读:
    MVC路由测试
    关于Dapper的使用笔记3
    关于Dapper的使用笔记2
    关于Dapper的使用笔记1
    关于WCF与Autofac的整合
    js获取页面元素距离浏览器工作区顶端的距离
    document.body.scrollTop和document.documentElement.scrollTop 以及值为0的问题
    js实现获取对象key名
    微信小程序分包跳转主包页面
    js禁止页面滚动
  • 原文地址:https://www.cnblogs.com/sdutmyj/p/4799104.html
Copyright © 2011-2022 走看看