Call [self.view addGestureRecognizer:self.revealViewController.panGestureRecognizer];
in viewWillAppear
instead of viewDidLoad
so that it is replaced following each transition. A gesture can only be attached to one view at a time so when you attach it to a different view it gets removed from the first.
Alternatively, consider adding the gesture to a more root view (like the window / navigation bar) depending on what interaction you want to enable.