title: How to detect first responder change in iOS?
body: <p>I have a <code>UIViewController</code> with a <code>UIScrollView</code> inside of it. This scroll view contains some <code>UITextFields</code> inside of it and I want to be able to scroll the view according to the field in focus. 
  My question is: is there a way to detect when the first responder in a <code>UIViewController</code> change? So I can get it's frame and change the scroll view offset to make it on top of the keyboard.
  I already use the <code>keyboardWillShowNotification</code> to get keyboard size changes. But when keyboard is already being shown and another text field becomes the first responder no changes are made in the keyboard and I can't detect which is the new first responder.</p>
  
  <p>Updates:</p>
  
  <ul>
  <li>The Scroll View is in a Container View Controller, so the text fields are added and <code>UITextFieldDelegate</code> may not work for this. Unless I can set the delegates after adding the content of the container.</li>
  <li>I already manage the keyboard notifications, they don't cover all cases.</li>
  <li>There are <code>UITextView</code>s in the form too.</li>
  </ul>