UIGestureRecognizer的一些子类
UISwipeGestureRecognizer
//滑动手势识别器
UISwipeGestureRecognizer *ver = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(reportVer)];
ver.direction = UISwipeGestureRecognizerDirectionDown | UISwipeGestureRecognizerDirectionUp;
ver.numberOfTouchesRequired = 1;
[self.view addGestureRecognizer:ver];
UITapGestureRecognizer
//轻击手势识别器
@interface BIDViewController : UIViewController <UIGestureRecognizerDelegate>
@end
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(doTap)];
tap.numberOfTapsRequired = 1;
tap.numberOfTouchesRequired = 1;
[self.view addGestureRecognizer:tap];
[tap requireGestureRecognizerToFail:otherTap];//tap仅在otherTap未识别时触发
UIPinchGestureRecognizer
//捏合手势识别器
@interface BIDViewController : UIViewController <UIGestureRecognizerDelegate>
@end
UIPinchGestureRecognizer *pinchGesture = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(doPinch:)];
pinchGesture.delegate = self;
[self.view addGestureRecognizer:pinchGesture];
- (void)doPinch:(UIPinchGestureRecognizer *)gesture
{
scale = gesture.scale;
[self transfromImageView];
if (gesture.state == UIGestureRecognizerStateEnded) {
previousScale = scale * previousScale;
scale = 1;
}
}
UIRotationGestureRecognizer
//旋转手势识别器
UIRotationGestureRecognizer *rotationGesture = [[UIRotationGestureRecognizer alloc] initWithTarget:self action:@selector(doRotate:)];
rotationGesture.delegate = self;
[self.view addGestureRecognizer:rotationGesture];
- (void)doRotate:(UIRotationGestureRecognizer *)gesture
{
rotation = gesture.rotation;
[self transfromImageView];
if (gesture.state == UIGestureRecognizerStateEnded) {
previousRotation = rotation + previousRotation;
rotation = 0;
}
}