title: iOS 7 UITableView didSelectRowAtIndexPath pushViewController programmatically, Animation issue
body: <p><strong>EDIT: I have Found the answer to my own question. Please look at the bottom of my post.</strong></p>
  
  <p>I am having an animation issue trying to push a <code>UIViewController</code> in <code>didSelectRowAtIndexPath</code> on a <code>UITableView</code> programmatically. When I run this code in iOS 6 it works fine. In iOS 7 the animation is messed up (it animates to the left about 20% of the screen then disappears). If I do this in storyboard the animation is fine. Am I missing something or is there a way around this without using storyboard?</p>
  
  <pre><code>// This is a cut down example.
  - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
      UIViewController *viewController = [[UIViewController alloc] init];
      [self.navigationController pushViewController:viewController animated:YES];
  }
  </code></pre>
  
  <p>This is what it looks like right before the tableView disappears. I understand why it does this. Its because the new view being pushed should animate sliding in over it as it does when using storyboard. For some reason it does not work programmatically.</p>
  
  <p><img src="https://i.stack.imgur.com/3HVKX.png" alt="enter image description here"></p>
  
  <p><strong>EDIT: This is all I missed</strong> 
  For some reason you have to set a backgroundColor.</p>
  
  <pre><code>- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
      UIViewController *viewController = [[UIViewController alloc] init];
      [viewController.view setBackgroundColor:[UIColor orangeColor]];
      [self.navigationController pushViewController:viewController animated:YES];
  }
  </code></pre>