title: ios7 - Warning: Attempt to present UINavigationController on UINavigationController while a presentation is in progress
body: <p>I'm getting the warning above when selecting a segue in didSelectRowAtIndexPath. This is happening on an iPad. The iPhone gives a different warning, and I'll see if a fix to this also fixes the other.</p>
  
  <p>I do have two segues in the method. The first works without incident. The second picks up the warning. I've looked around the net, and checked out others' solutions. nada, so I'm posting here..</p>
  
  <p>Here's the code: (I'm open to better ways to write this!)</p>
  
  <pre><code>-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
      //NSLog(@"%s", __FUNCTION__);
  
      if ((indexPath.section == 0) || (indexPath.section == 1) || (indexPath.section == 2)) return;
      if (indexPath.section &gt; 4) return;
  
      //Images THIS WORKS OK
      if (indexPath.section == 3 &amp;&amp; indexPath.row == 0) { 
          viewController1 = [[ViewController1 alloc] init];
          [self performSegueWithIdentifier:@"detailToV1" sender:self];
          [self.tableView reloadData];
      }
  
      if (indexPath.section == 3 &amp;&amp; indexPath.row == 1) { // THIS REDULTS IN A WARNING
          viewController2 = [[ViewController2 alloc] init];
          [self performSegueWithIdentifier:@"detailToV2" sender:nil];
      }
  
  //Notes THIS WORKS OK BUT I HAD TO USE A NIB TO AVOID THE WARNING
      if (indexPath.section == 4 &amp;&amp; indexPath.row == 0) { 
  
          viewController3 = [[ViewController3 alloc] init];
          [[self navigationController] pushViewController:viewController3 animated:YES];
          [self.tableView reloadData];
  
      }
  }
  </code></pre>