06
- (void)viewDidLoad {
[super viewDidLoad];
UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(50, 50, 275, 500)];
imageView.image = [UIImage imageNamed:@"mao.jpg"];
imageView.userInteractionEnabled = YES;
// 1.创建满足需求的手势,在创建时关联手势触发时的方法
// 2.配置手势的相关属性
// 3.将手势添加到需要执行操作的视图上面
// 4.实现手势方法,当触摸发生,手势识别器识别到相对应的触摸时,就会执行关联的方法
// 轻拍手势UITapGestureRecognizer
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapAction:)];
// 设置属性
// 1. 触发手势的手指个数
tap.numberOfTouchesRequired = 1;
// 2. 触发手势的轻拍次数
tap.numberOfTapsRequired = 2;
// 让imageView添加轻拍手势
[imageView addGestureRecognizer:tap];
[tap release];
// // 轻扫手势UISwipeGestureRecognizer
// UISwipeGestureRecognizer *swipe = [[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(swipeAction:)];
// // 指定轻扫的方向
// swipe.direction = UISwipeGestureRecognizerDirectionDown;
//
// [imageView addGestureRecognizer:swipe];
//
// [swipe release];
// 长按手势UILongPressGestureRecognizer
// UILongPressGestureRecognizer *longpress = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(longressAction:)];
// // 长按手势触发的最短时间,默认是0.5
// longpress.minimumPressDuration = 3.0;
//
// [imageView addGestureRecognizer:longpress];
//
// [longpress release];
// // 缩放
// UIPinchGestureRecognizer *pinch = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(pinchAction:)];
//
// [imageView addGestureRecognizer:pinch];
// [pinch release];
//旋转
UIRotationGestureRecognizer *rotate = [[UIRotationGestureRecognizer alloc]initWithTarget:self action:@selector(rotateAction:)];
[imageView addGestureRecognizer:rotate];
[rotate release];
//平移
// UIPanGestureRecognizer *pan = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(panAction:)];
// [imageView addGestureRecognizer:pan];
// [pan release];
[self.view addSubview:imageView];
[imageView release];
// Do any additional setup after loading the view.
}
- (void)tapAction:(UITapGestureRecognizer *)tap {
// 获取手势关联的视图
UIImageView *imageView = (UIImageView *)tap.view;
// 修改图片
[imageView setImage:[UIImage imageNamed:@"zhonger.jpg"]];
}
- (void)swipeAction:(UISwipeGestureRecognizer *)swipe {
// 获取手势关联的视图
UIImageView *imageView = (UIImageView *)swipe.view;
// 修改图片
[imageView setImage:[UIImage imageNamed:@"zhonger.jpg"]];
}
- (void)longressAction:(UILongPressGestureRecognizer *)longress {
UIImageView *imageView = (UIImageView *)longress.view;
[imageView setImage:[UIImage imageNamed:@"zhonger.jpg"]];
}
- (void)pinchAction:(UIPinchGestureRecognizer *)pinch {
// 获取要进行缩放的视图
UIImageView *imageView = (UIImageView *)pinch.view;
// 改变imageView 的变形属性
imageView.transform = CGAffineTransformScale(imageView.transform, pinch.scale, pinch.scale);
pinch.scale = 1;
//有回弹效果
// imageView.transform = CGAffinTransformMakeScale(pinch.scale, pinch.scale);
}
- (void)rotateAction:(UIRotationGestureRecognizer *)rotate {
// 获取想要旋转的视图
UIImageView *imageView = (UIImageView *)rotate.view;
// 改变imageView的形变属性
// imageView.transform = CGAffineTransformMakeRotation(rotate.rotation);
imageView.transform = CGAffineTransformRotate(imageView.transform, rotate.rotation);
rotate.rotation = 0;
}
- (void)panAction:(UIPanGestureRecognizer *)pan {
// 获取想要平移的视图
UIImageView *imageView = (UIImageView *)pan.view;
CGPoint p = [pan translationInView:imageView];
// 改变视图的变形属性
imageView.transform = CGAffineTransformTranslate(imageView.transform, p.x, p.y);
[pan setTranslation:CGPointZero inView:imageView];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}