title: Why calling [self becomeFirstResponder] caused so many problems?
body: <p>For the past few extremely frustrating days of my life, I've been trying to figure out what's wrong with me code. In a certain page, if I put <code>UITextViews</code> or <code>UITextFields</code> or a <code>MFMailComposer</code> or a MessageComposer or anything with fields that require editing, the fields just wouldn't respond to touches. I couldn't edit anything when I ran the app. I couldn't edit text views or email fields or anything. I tried everything, but nothing worked. It turns out that on the main page (<code>MainVC</code>) that leads to the page where fields don't respond (<code>GiftVC</code>), in the <code>viewDidAppear</code> method (in the <code>MainVC</code>), I say: <code>[self becomeFirstResponder];</code>. </p>
  
  <p>Now I'm not really sure why I put that there, but it turns out that commenting that line out fixes everything and makes all the fields and textviews and email composers and everything work just fine again. </p>
  
  <p>I also have this in the <code>MainVC</code> page:</p>
  
  <pre><code>-(BOOL)canBecomeFirstResponder {
      return YES;
  }
  </code></pre>
  
  <p>and commenting that out fixes the problem as well.</p>
  
  <p>The weird part is that even with the <code>[self becomeFirstResponder]</code> line, everything worked just fine in the new iOS 5 (simulator and device), but in iOS 4 (simulator and device), it wouldn't work at all with that line. Now that I've removed it, it works fine in both cases.</p>