Имелась и эта проблема,
Я запустил его в файле appDelegate, что означало, что я должен был заставить окно изменить ландшафт, поэтому, если оригинал выглядит так:
-(void)playMovie {
NSString *url = [[NSBundle mainBundle]
pathForResource:@"intro"
ofType:@"m4v"];
MPMoviePlayerController *player = [[MPMoviePlayerController alloc] initWithContentURL:[NSURL fileURLWithPath:url]];
[[NSNotificationCenter defaultCenter]
addObserver:self
selector:@selector(movieFinishedCallback:)
name:MPMoviePlayerPlaybackDidFinishNotification
object:player];
[player setFullscreen:YES animated:YES];
[player setControlStyle:MPMovieControlStyleNone];
[window addSubview:player.view];
[window bringSubviewToFront:player.view];
[player setFullscreen:YES animated:YES];
[player setControlStyle:MPMovieControlStyleNone];
[player play];
}
все, что нужно, это добавить следующие строки:
[window setBounds:CGRectMake( 0, 0, 480, 320)];
[window setCenter:CGPointMake(160, 240];
[window setTransform:CGAffineTransformMakeRotation(M_PI/ 2)];
перед [player play]
, а при завершении вызова фильма добавьте
struct CGRect rect = [[UIScreen mainScreen] bounds];
rect.origin.x = rect.origin.y = 0.0f;
window =[[UIWindow alloc] initWithFrame:rect];
[window makeKeyAndVisible];
для сброса вида.
Не уверен, что это правильный способ, но это было единственное, что сработало для меня.