I set MPMoviePlayerController.controlStyle = MPMovieControlStyleNone, when i entry fullscreen lanscape and set MPMoviePlayerController.controlStyle = MPMovieControlStyleDefault when I entry portrait. Then I exit from portrait. I find the statusbar overlap ViewController, and when I jump to other ViewController, then same overlap. I know the frame of ViewController is changed, so If I do:
self.view.frame = [[UIScreen mainScreen] applicationFrame];
the ViewController will go to right position, but I jump to other ViewController, the same overlap happen. I have dozens of ViewController, I don't want to change everyone.
I guess MPMovieControlStyleNone change some setting of frame, and ViewControllers I make haven't set this setting, so I can modify this setting back when i exit the view of MPMoviePlayerController. But I don't know which setting it is.
BTW: I use xib to create my ViewControllers, and i choose it contain statusbar, so the frame of them begin from y.20.