#import "MJViewController.h"
@interface MJViewController () <UIGestureRecognizerDelegate>
@property (weak, nonatomic) IBOutlet UIImageView *iconView;
@end
@implementation MJViewController
- (void)viewDidLoad
{
[super viewDidLoad];
[self testPinchAndRotate];
}
#pragma mark - 手势识别器的代理方法
/**
* 是否允许多个手势识别器同时有效
* Simultaneously : 同时地
*/
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
{
return YES;
}
#pragma mark - 缩放 + 旋转
- (void)testPinchAndRotate
{
[self testPinch];
[self testRotate];
}
#pragma mark - 缩放手势(捏合手势)
- (void)testPinch
{
UIPinchGestureRecognizer *pinch = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(pinchView:)];
pinch.delegate = self;
[self.iconView addGestureRecognizer:pinch];
}
- (void)pinchView:(UIPinchGestureRecognizer *)pinch
{
pinch.view.transform = CGAffineTransformScale(pinch.view.transform, pinch.scale, pinch.scale);
pinch.scale = 1; // 这个真的很重要!!!!!
}
#pragma mark - 旋转手势
- (void)testRotate
{
UIRotationGestureRecognizer *recognizer = [[UIRotationGestureRecognizer alloc] initWithTarget:self action:@selector(rotateView:)];
recognizer.delegate = self;
[self.iconView addGestureRecognizer:recognizer];
}
- (void)rotateView:(UIRotationGestureRecognizer *)recognizer
{
recognizer.view.transform = CGAffineTransformRotate(recognizer.view.transform, recognizer.rotation);
recognizer.rotation = 0; // 这个很重要!!!!!
}
@end
iOS 手势识别 旋转和缩放(捏合)
最新推荐文章于 2018-01-18 14:04:05 发布