//联系人:石虎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
谢谢!!!