title: Cocoa-Touch: How to allow MPMoviePlayerController but no other views to autorotate?
body: <p>I have this iOS 3.2 app (iPad) which has lots of content, and a few videos.</p>
  
  <p>All the views are in portrait, except for the videos which are portrait inline, with a fullscreen option, and I'd like to let the user autorotate the video while fullscreen.</p>
  
  <p>In <code>shouldAutorotateForInterfaceOrientation:</code> my app generally refuses autorotation.</p>
  
  <p>How can I let MPMoviePlayerController's view autorotate, but not any other views in my app?</p>
  
  <p>A few ideas I've thought of:</p>
  
  <ol>
  <li><p>in <code>shouldAutorotateForInterfaceOrientation:</code>:<br>
  <code>return isFullscreenMovieActive;</code><br>
  which would make the app allow rotation while a movie is in fullscreen mode. This works perfectly except for one huge issue, I cannot force the app back into portrait mode once the user exits fullscreen mode. (i.e. user starts app, finds a movie player, plays it, goes to fullscreen mode, rotates the device, presses done, now he has the app in landscape mode)<br>
  Is there an acceptable way to force rotating to a <code>UIInterfaceOrientation</code>?</p></li>
  <li><p>Apple actually recommends grabbing <code>MPMoviePlayerController</code>'s view from it's view method. When the device rotates, what actually happens is that the app's <code>UIWindow</code> gets a <code>CGAffineTransform</code> applied to it. So I could do this to <code>MPMoviePlayerController</code>'s view, but when entering fullscreen mode the view changes and is not the one in the view property.<br>
  So is there any acceptable way to get <code>MPMoviePlayerController</code>'s fullscreen view?</p></li>
  </ol>
  
  <p>Or is there a better solution for this task?</p>