UIGestureRecognizer类,用来检测,识别用户使用设备时所用的手势,定义了所有手势的基本行为.以下是UIGestureRecognizer子类,哟关于处理具体的用户手势行为。
单击手势
单击手势 UITapGestureRecognizer UITapGestureRecognizer *singleTap=[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(singleTap:)]; [self.view addGestureRecognizer:singleTap]; //单击事件 -(void)singleTap:(UITapGestureRecognizer *)tapgestrue { NSLog(@"单击"); }
双击手势
UITapGestureRecognizer UITapGestureRecognizer *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); }
时间: 2024-12-13 17:18:35