\EDIT: Now the delegate get the argument with the gestureRecognizer.
You can just implement protocol like:
@protocol ViewControllerWithGestureRecognizerDelegate
- (void)viewControllerGestureRecognizerEvent:(UIPinchGestureRecognizer *)gestureRecognizer;
@end
and add the delegate property to the view controller in which there will be presented gesture recognizer.
@property (nonatomic, weak) id<ViewControllerWithGestureRecognizerDelegate> delegate;
Then add the gesture recognizer to your view Controller:
UIPinchGestureRecognizer *gestureRecognizer = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(gestureRecognizerAction:)];
[self addGestureRecognizer:gestureRecognizer];
Call the delegate method in action method of the gesture recognizer:
- (void)gestureRecognizerAction:(UIPichGestureRecognizer *)gestureRecognizer
{
[self.delegate viewControllerGestureRecognizerEvent:gestureRecognizer];
}
Implement the protocol ViewControllerWithGestureRecognizerDelegate in the second view controller (in which you want to get notified about gesture recognizer events) and set the delegate of the view controller which gesture recognizer to be the second view controller.
ViewControllerWithGestureRecognizer.delegate = ViewControllerInWhichYouWantToGetNotifiedAboutGestureRecognizerEvents.
This way every time the gesture recognizer will call method on the the one view controller, the second one will be informed about that.