title: Showing keyboard at the right time iOS7
body: <p>In iOS 6 I'm used to present keyboard in <code>viewDidLoad</code>.</p>
  
  <pre><code>- (void)viewDidLoad
  {
      [super viewDidLoad];
  
      [txtField becomeFirstResponder];
  }
  </code></pre>
  
  <p>This way, when navigationController pushes the new viewController, keyboard is already there, animating smoothly from left to right and avoiding bottom-up animation.</p>
  
  <p>In iOS 7 this behavior seems broken.</p>
  
  <p>If I add <code>[txtField becomeFirstResponder]</code> in <code>viewDidLoad</code>, keyboard appears in the middle of pushing animation, already in its final position: an unpleasant effect!!</p>
  
  <p>I've tried to move <code>[txtField becomeFirstResponder]</code> in <code>viewWillAppear</code>, but the final result is unchanged.</p>
  
  <p>Do you know a way to get back iOS 6 behavior, pushing the new viewController and the keyboard all together?</p>
  
  <p>EDIT: Using a timer doesn't work either... whatever time delay I set, the keyboard is shown only at the end of pushing animation.</p>
  
  <p>So far, my best try it is to put <code>[txtField becomeFirstResponder]</code> in <code>viewWillLayoutSubviews</code> or <code>viewDidLayoutSubviews</code>. Unfortunately, doing so working when pushing viewController but not when popping back (the keyboard doesn't appear).</p>