iOS UIGestureRecognizer(手势、单击、拖拽 、拖拽、旋转、轻扫 、长按、边缘滑动,功能介绍)

//联系人:石虎QQ: 1224614774昵称:嗡嘛呢叭咪哄

#import"ViewController.h"

@interfaceViewController ()

{

UITapGestureRecognizer *_tap;//单击

UIPanGestureRecognizer *_pan;//拖拽

UIPinchGestureRecognizer *_pinch;//拖拽

UIRotationGestureRecognizer *_rotation;//旋转

UISwipeGestureRecognizer *_swipe;//轻扫

UILongPressGestureRecognizer *_longpress;//长按

UIScreenEdgePanGestureRecognizer *_edgePan;//边缘滑动手势

}

@property(nonatomic,weak)IBOutletUIView*testView;

@end

@implementationViewController

- (void)viewDidLoad {

[superviewDidLoad];

[selfaddTapGesture];

[selfaddPanGesture];

[selfaddPinchGesture];

[selfaddRotationGesture];

[selfaddSwipeGesture];

[selfaddLongpressGesture];

[selfaddEdgePanGesture];

//手势谦让

[selfgestureHumility];

}

#pragma mark -手势

//单击

- (void)addTapGesture{

_tap = [[UITapGestureRecognizer alloc]initWithTarget:selfaction:@selector(tapAction:)];

_tap.numberOfTapsRequired =1;

[_testView addGestureRecognizer:_tap];

}

//拖拽

- (void)addPanGesture{

_pan = [[UIPanGestureRecognizer alloc]initWithTarget:selfaction:@selector(panAction:)];

_pan.minimumNumberOfTouches =1;

[_testView addGestureRecognizer:_pan];

}

//拖拽

- (void)addPinchGesture{

_pinch = [[UIPinchGestureRecognizer alloc]initWithTarget:selfaction:@selector(pinchAction:)];

[_testView addGestureRecognizer:_pinch];

}

//旋转

- (void)addRotationGesture{

_rotation = [[UIRotationGestureRecognizer alloc]initWithTarget:selfaction:@selector(rotationAction:)];

[_testView addGestureRecognizer:_rotation];

}

//轻扫

- (void)addSwipeGesture{

_swipe = [[UISwipeGestureRecognizer alloc]initWithTarget:selfaction:@selector(swipeAction:)];

//指定扫动方向

_swipe.direction = UISwipeGestureRecognizerDirectionDown;

[_testView addGestureRecognizer:_swipe];

}

//长按

- (void)addLongpressGesture{

_longpress = [[UILongPressGestureRecognizer alloc]initWithTarget:selfaction:@selector(longpressAction:)];

_longpress.minimumPressDuration =1.0;

[_testView addGestureRecognizer:_longpress];

}

//边缘滑动手势

- (void)addEdgePanGesture{

_edgePan = [[UIScreenEdgePanGestureRecognizer alloc]initWithTarget:selfaction:@selector(edgePanAction:)];

_edgePan.edges = UIRectEdgeLeft;

[self.view addGestureRecognizer:_edgePan];

}

#pragma mark -动作

//单击

- (void)tapAction:(UITapGestureRecognizer*)tap{

NSLog(@"单击");

}

//拖拽

- (void)panAction:(UIPanGestureRecognizer*)pan{

NSLog(@"拖拽");

CGPointpoint = [pantranslationInView:pan.view];

//    pan.view.transform =CGAffineTransformMakeTranslation(point.x, point.y);

pan.view.transform=CGAffineTransformTranslate(pan.view.transform, point.x, point.y);

[pansetTranslation:CGPointZeroinView:pan.view];

}

//捏合

- (void)pinchAction:(UIPinchGestureRecognizer*)pinch{

NSLog(@"捏合");

pinch.view.transform=CGAffineTransformMakeScale(pinch.scale, pinch.scale);

}

//旋转

- (void)rotationAction:(UIRotationGestureRecognizer*)rotation{

NSLog(@"旋转");

rotation.view.transform=CGAffineTransformMakeRotation(rotation.rotation);

}

//轻扫

- (void)swipeAction:(UISwipeGestureRecognizer*)swipe{

NSLog(@"向下轻扫");

}

//长按

- (void)longpressAction:(UILongPressGestureRecognizer*)longpress{

NSLog(@"长按");

}

//边缘滑动手势

- (void)edgePanAction:(UIScreenEdgePanGestureRecognizer*)edgePan{

NSLog(@"左边缘滑动");

UIColor*random = [UIColorcolorWithRed:arc4random()%256/255.0green:arc4random()%256/255.0blue:arc4random()%256/255.0alpha:1.0];

self.view.backgroundColor = random;

}

#pragma mark - privatemethods//手势谦让

- (void)gestureHumility{

[_pan requireGestureRecognizerToFail:_swipe];

}

@end

谢谢!!!

你可能感兴趣的:(iOS UIGestureRecognizer(手势、单击、拖拽 、拖拽、旋转、轻扫 、长按、边缘滑动,功能介绍))