You can add gestures using this method:
- (void) addGestureRecognizers{
UIPanGestureRecognizer *panRecognizer = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(move:)];
[panRecognizer setMinimumNumberOfTouches:1];
[panRecognizer setMaximumNumberOfTouches:1];
[self addGestureRecognizer:panRecognizer];
UIRotationGestureRecognizer *rotateRecognizer = [[UIRotationGestureRecognizer alloc] initWithTarget:self action:@selector(rotate:)];
self.multipleTouchEnabled = YES;
[self addGestureRecognizer:rotateRecognizer];
UIPinchGestureRecognizer *pinchRecognizer = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(pinch:)];
[self addGestureRecognizer:pinchRecognizer];
UILongPressGestureRecognizer *longPressRecognizer = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(longPressed:)];
longPressRecognizer.minimumPressDuration = 2.0;
[self addGestureRecognizer:longPressRecognizer];
}
and implement those selectors:
- (void) move:(UIPanGestureRecognizer *)recognizer{
CGPoint translation = [recognizer translationInView:self.superview];
recognizer.view.center = CGPointMake(recognizer.view.center.x+translation.x, recognizer.view.center.y+translation.y);
[recognizer setTranslation:CGPointMake(0, 0) inView:self.superview];
}
- (void) rotate:(UIRotationGestureRecognizer *)recognizer{
NSLog(@"Rotate");
recognizer.view.transform = CGAffineTransformRotate(
recognizer.view.transform,
recognizer.rotation);
recognizer.rotation = 0;
}
- (void) pinch:(UIPinchGestureRecognizer *)recognizer{
recognizer.view.transform = CGAffineTransformScale(recognizer.view.transform, recognizer.scale, recognizer.scale);
recognizer.scale = 1;
}
- (void) longPressed:(UILongPressGestureRecognizer *)recognizer{
NSLog(@"Long Pressed");
}
NOTE: Change values as you want