首页 > 学院 > 开发设计 > 正文

UIGestureRecognizer手势操作

2019-11-14 18:17:51
字体:
来源:转载
供稿:网友

UIGestureRecognizer类,用来检测,识别用户使用设备时所用的手势,定义了所有手势的基本行为.以下是UIGestureRecognizer子类,哟关于处理具体的用户手势行为。

单击手势

单击手势UITapGestureRecognizerUITapGestureRecognizer *singleTap=[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(singleTap:)];    [self.view addGestureRecognizer:singleTap];//单击事件-(void)singleTap:(UITapGestureRecognizer *)tapgestrue{    NSLog(@"单击");}


双击手势

UITapGestureRecognizerUITapGestureRecognizer *doubleTap=[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(doubleTap:)];    doubleTap.numberOfTapsRequired=2;    [self.view addGestureRecognizer:doubleTap];    //区别单击双击手势    [singleTap requireGestureRecognizerToFail:doubleTap];//双击点击事件-(void)doubleTap:(UITapGestureRecognizer *)taggestrue{    NSLog(@"双击");}

轻扫手势

UISwipeGestureRecognizer *swipeGesture=[[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(swipe:)];    //设置轻扫方向,默认向右    swipeGesture.direction=UISwipeGestureRecognizerDirectionDown;    [self.view addGestureRecognizer:swipeGesture];//轻扫事件-(void)swipe:(UISwipeGestureRecognizer *)swipeGesture{    NSLog(@"轻扫手势");}

//平移

UIPanGestureRecognizer *panGesture=[[UIPanGestureRecognizer alloc]initWithTarget:self action:@selector(pan:)];    [self.view addGestureRecognizer:panGesture];   //平移事件-(void)pan:(UIPanGestureRecognizer *)pan{    CGPoint point=[pan locationInView:self.view];    NSLog(@"%@",NSStringFromCGPoint(point));}

//长按手势

 UILongPRessGestureRecognizer *longPressGesture=[[UILongPressGestureRecognizer alloc]initWithTarget:self action:@selector(longPress:)];    longPressGesture.minimumPressDuration=2;    [self.view addGestureRecognizer:longPressGesture];//长按手势事件-(void)longPress:(UILongPressGestureRecognizer *)longPress{    //长按离开时一会调用一次,所以需要设置手势状态    if(longPress.state==UIGestureRecognizerStateEnded)    {        return;    }    NSLog(@"长按超过两秒");}    

//旋转手势

UIRotationGestureRecognizer *rotation=[[UIRotationGestureRecognizer alloc]initWithTarget:self action:@selector(rotation:)];    [self.view addGestureRecognizer:rotation];//旋转事件-(void)rotation:(UIRotationGestureRecognizer *)rotation{    //根据旋转的弧度获得角度    float degree=rotation.rotation*(180/M_PI);    NSLog(@"%f",degree);}

 


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表