title: ViewWillAppear not getting called in modal controller. What is wrong here?
body: <p>I have seen a couple of articles about <code>ViewWillAppear</code> and <code>ViewDidAppear</code> not firing under certain circumstances but I'm still wondering what the thinking behind the behavior is and how I can work around it in my specific case.</p>
  
  <ul>
  <li><code>window</code> has one view which is handled by a deafult <code>UIVieController</code> and contains a button.</li>
  <li>Clicking the button presents another view controller modally (<strong>VC_MAIN</strong>).</li>
  <li>Depending on settings, the modally shown view controller (<strong>VC_MAIN</strong>) will either present view A or view B.</li>
  <li>View A and B are handled by different view controllers (<strong>VC_A</strong> and <strong>VC_B</strong>).</li>
  <li>None of the ViewWill* or ViewDid* methods is called in <strong>VC_A</strong> or <strong>VC_B</strong>.</li>
  <li>I can work around it by calling them manually in <strong>VC_MAIN</strong> in the corresponding ViewDid* and ViewWill* methods. But if <strong>VC_MAIN</strong> decides to switch from <strong>VC_A</strong> to <strong>VC_B</strong> this does not help. <strong>VC_MAIN's</strong> View* methods won't be called again and neither will <strong>VC_A's</strong> or <strong>VC_B's</strong>.</li>
  </ul>
  
  <p>I could of course dimiss VC_MAIN when switching from A to B, but I don't want to. I want to animate the switching and not just open another modal view.</p>
  
  <p>Why the heck don't those methods get called? It really is beyond me! If you look at UISplitViewController: it houses two sub controllers, which can show other controllers. They basically do the same as I'm trying to do. Has Apple placed kludges all over the code?</p>