title: iOS - pop a view controller by panning on the left edge, navigation bar disappears
body: <p>So iOS 7 introduced this new feature that you can pop a view controller by panning on the left edge. Here is my problem: I have two view controllers, A and B, that are connected by a push segue. Both of the controllers have navigation bars (by embedding A in a navigation controller). The navigation bar in B will be hidden once the user enters B's scene, and can be shown if the user taps on the scene. If the user pans on the left edge of B while the navigation bar is hidden, the navigation bar in A will be hidden as well, which means that there is no way for the user to return further back from A. So is there a way to enforce A to always show the navigation bar regardless of B has hidden the bar or not? Or is there a easy way to prevent the pan gesture from taking effect? I read <a href="https://stackoverflow.com/questions/18975060/prevent-ios7-pan-gesture-to-pop-view-controller">this post</a> which suggested a way of preventing the pan, but I can't locate the property in storyboard.</p>
  
  <p><strong>EDIT:</strong> So I disabled the interactive pop gesture recognizer but that only solved half of the problem. The other half is that if I click the back button on the child view controller navigation bar when the navigation bar is disappearing, I am navigated back to the parent view controller without a navigation bar. I tried calling <code>[self.navigationController setNavigationBarHidden:NO]</code> in <code>viewWillAppear</code> and then <code>viewDidLoad</code> but it does not work. Is this some sort of bug in the SDK or am I missing something?</p>
  
  <p>Here is the code for hiding the navigation bar in the child view controller</p>
  
  <pre><code>- (void)hideNavigationBar
  {
      if (self.navigationBarHidden == NO)
      {
          [UIView animateWithDuration:UINavigationControllerHideShowBarDuration animations:^{
              self.navigationController.navigationBar.alpha = 0.0;
              self.previewCollectionView.alpha = 0.0;
          } completion:^(BOOL finished) {
              self.navigationBarHidden = YES;
          }];
      }
  }
  </code></pre>