title: viewWillDisappear and viewDidDisappear never get called
body: <p>I created my own class for PopoverController (Without subclassing UIPopoverController) to present ViewControllers in the way i want.</p>
  
  <p>CustomPopoverController is NOT a UIViewController, instead it has an ivar called "contentViewController" which is the VC that will actually be displayed.</p>
  
  <p>I implemented my own "dismissPopoverAnimated:" to dismiss my custom popover when the user tap anywhere outside the contentViewController's frame:</p>
  
  <pre><code>-(void) dismissPopoverAnimated : (BOOL) animated
  {
       // dismissalView is the view that intercept the taps outside.
      [self.dismissalView removeFromSuperview];
      self.dismissalView = nil;
      if (animated)
      {
          CGRect newFrame = self.view.frame;
          // When in landscape Mode the width of the screen is actually the "height"
          newFrame.origin.y = [UIScreen mainScreen].bounds.size.width;
  
          [UIView animateWithDuration:0.5 
                           animations:^{self.view.frame = newFrame;} 
           completion: ^(BOOL finished) {if(finished) [self.contentViewController.view removeFromSuperview];}];
      }
      else 
      {
          [self.contentViewController.view removeFromSuperview];
      }
      isPresented = NO;
      [self.delegate customPopoverDidDismissPopover:self];
  }
  </code></pre>
  
  <p>The problem is, that even though <code>removeFromSuperView</code> is called in any case - animated or not, the <code>contentViewController</code> never receives either <code>viewWillDisappear</code>, <code>viewDidDisappear</code> or even <code>viewDidUnload</code> when i'm releasing the <code>contentViewController</code>;  </p>
  
  <p>Does anyone have an idea why?
  Or even better throw some light on the chain of viewWill.../viewDid... method and when they supposed to be called.</p>