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);}
新闻热点
疑难解答