#import "YZViewController.h"
@interface YZViewController ()<UIGestureRecognizerDelegate>
@property (weak, nonatomic) IBOutlet UIImageView *imageView;
@end
@implementation YZViewController
- (void)viewDidLoad
{
[super viewDidLoad];
// 移动图片
UIPanGestureRecognizer *pan = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(pan:)];
[_imageView addGestureRecognizer:pan];
}
- (void)pan:(UIPanGestureRecognizer *)pan
{
CGPoint trans = [pan translationInView:_imageView];
_imageView.transform = CGAffineTransformTranslate(_imageView.transform, trans.x, trans.y);
// 复位
[pan setTranslation:CGPointZero inView:_imageView];
}
// Simultaneous:同时
// 默认是不支持多个
// 当你使用一个手势的时候就会调用
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
{
return YES;
}
- (void)addPinch
{
// 捏合
UIPinchGestureRecognizer *pinch = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(pinch:)];
pinch.delegate = self;
[_imageView addGestureRecognizer:pinch];
}
- (void)pinch:(UIPinchGestureRecognizer *)pinch
{
_imageView.transform = CGAffineTransformScale(_imageView.transform, pinch.scale, pinch.scale);
// 复位
pinch.scale = 1;
}
- (void)addRotation
{
// 旋转
UIRotationGestureRecognizer *rotation = [[UIRotationGestureRecognizer alloc] initWithTarget:self action:@selector(rotation:)];
rotation.delegate = self;
[_imageView addGestureRecognizer:rotation];
}
- (void)rotation:(UIRotationGestureRecognizer *)rotation
{
// _imageView.transform = CGAffineTransformMakeRotation(rotation.rotation);
NSLog(@"%f",rotation.rotation);
_imageView.transform = CGAffineTransformRotate(_imageView.transform, rotation.rotation);
// 复位
rotation.rotation = 0;
}
// 清扫
- (void)addSwipe
{
UISwipeGestureRecognizer *swipe = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipe:)];
swipe.direction = UISwipeGestureRecognizerDirectionLeft;
[_imageView addGestureRecognizer:swipe];
}
- (void)swipe:(UISwipeGestureRecognizer *)swipe
{
NSLog(@"左");
}
- (void)addLong
{
// 长按
UILongPressGestureRecognizer *longPress = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(longPress:)];
longPress.minimumPressDuration = 2;
// 手势识别之前的最大移动范围,超出这个范围就不能识别
longPress.allowableMovement = 10;
[_imageView addGestureRecognizer:longPress];
}
- (void)longPress:(UILongPressGestureRecognizer *)longPress
{
if (longPress.state == UIGestureRecognizerStateBegan) {
NSLog(@"longPress");
}
}
- (void)addTap
{
// 1.创建点按手势
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]
initWithTarget:self action:@selector(tap:)];
// tap.numberOfTapsRequired = 2;
// tap.numberOfTouchesRequired = 2;
tap.delegate = self;
[_imageView addGestureRecognizer:tap];
}
// 返回NO,表示不触发手势事件
//- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
//{
// CGPoint pos = [touch locationInView:_imageView];
//
// if (pos.x < _imageView.bounds.size.width * 0.5 ) {
//
// return NO;
// }
// return YES;
//}
- (void)tap:(UITapGestureRecognizer *)tap
{
NSLog(@"tap");
}
@end