iOS_捏合及旋转手势的使用
2018-01-18 14:04
246 查看
给他图片等视图加上一个或多个手势,这样可以使程序效果更炫酷一点,下面就提供了两种手势的使用方法,建议真机测试,这样比较好直观的感受下手势的使用。
-(void)loadImage {
UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 100, self.view.frame.size.width, 300)];
imageView.image = [UIImage imageNamed:@"1.jpeg"];
//用户交互的属性一定要设置为YES
imageView.userInteractionEnabled = YES;
//捏合手势
UIPinchGestureRecognizer *pinchGes= [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(pinchAction:)];
//旋转手势
UIRotationGestureRecognizer *rotation = [[UIRotationGestureRecognizer alloc] initWithTarget:self action:@selector(rotationAction:)];
[imageView addGestureRecognizer:pinchGes];
[imageView addGestureRecognizer:rotation];
[self.view addSubview:imageView];
}
如果想让视图可以同时响应两种或多种手势(一边旋转一边缩放),只要实现一个delegate方法就可以了:<UIGestureRecognizerDelegate>
-(void)loadImage {
UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 100, self.view.frame.size.width, 300)];
imageView.image = [UIImage imageNamed:@"1.jpeg"];
//用户交互的属性一定要设置为YES
imageView.userInteractionEnabled = YES;
//捏合手势
UIPinchGestureRecognizer *pinchGes= [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(pinchAction:)];
//旋转手势
UIRotationGestureRecognizer *rotation = [[UIRotationGestureRecognizer alloc] initWithTarget:self action:@selector(rotationAction:)];
[imageView addGestureRecognizer:pinchGes];
[imageView addGestureRecognizer:rotation];
[self.view addSubview:imageView];
}
-(void)pinchAction:(UIPinchGestureRecognizer *)pinch { //获取手势的当前视图 UIImageView *imageView = (UIImageView *)pinch.view; //缩放视图 imageView.transform = CGAffineTransformScale(imageView.transform, pinch.scale, pinch.scale); //将缩放值归为单位值 pinch.scale = 1; } -(void)rotationAction:(UIRotationGestureRecognizer *)rotation { //获取手势的当前视图 UIImageView *imageView = (UIImageView *)rotation.view; //旋转视图 imageView.transform = CGAffineTransformRotate(imageView.transform, rotation.rotation); //将旋转量归为单位值 rotation.rotation = 0; }
如果想让视图可以同时响应两种或多种手势(一边旋转一边缩放),只要实现一个delegate方法就可以了:<UIGestureRecognizerDelegate>
//视图满足两种或多种手势可以一起响应 pinchGes.delegate = self; rotation.delegate = self;
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer { return YES; }
相关文章推荐
- iOS 手势的使用 六个手势 轻拍 长按 拖拽 捏合 轻扫 旋转
- iOS手势识别的详细使用(拖动,缩放,旋转,点击,手势依赖,自定义手势)
- iOS手势识别的详细使用拖动,缩放,旋转,点击,手势依赖,自定义手势
- iOS手势识别的详细使用(拖动,缩放,旋转,点击,手势依赖,自定义手势)
- iOS手势识别的详细使用(拖动,缩放,旋转,点击,手势依赖,自定义手势)
- iOS手势识别的详细使用(拖动,缩放,旋转,点击,手势依赖,自定义手势)
- iOS手势识别的详细使用(拖动,缩放,旋转,点击,手势依赖,自定义手势)
- iOS手势识别的详细使用(拖动,缩放,旋转,点击,手势依赖,自定义手势)
- (转)iOS手势UIGestureRecognizer识别的详细使用(拖动,缩放,旋转,点击,手势依赖,自定义手势)
- iOS手势识别的详细使用(拖动,缩放,旋转,点击,手势依赖,自定义手势)
- iOS手势识别的详细使用(拖动,缩放,旋转,点击,手势依赖,自定义手势)
- iOS手势识别的详细使用(拖动,缩放,旋转,点击,手势依赖,自定义手势)
- IOS Gesture手势(点击、捏合、滑动、长按、旋转、拖动)
- iOS手势识别的详细使用(拖动,缩放,旋转,点击,手势依赖,自定义手势)
- iOS开发:使用手势UIGestureRecognizer对图像进行缩放、移动、旋转操作
- iOS手势识别的详细使用(拖动,缩放,旋转,点击,手势依赖,自定义手势)
- iOS手势识别的详细使用(拖动,缩放,旋转,点击,手势依赖,自定义手势)
- iOS手势识别的详细使用(拖动,缩放,旋转,点击,手势依赖,自定义手势)
- iOS 使用手势UIGestureRecognizer对图像进行缩放、移动、旋转等操作
- iOS手势识别的详细使用(拖动,缩放,旋转,点击,手势依赖,自定义手势)