2 つのビュー コントローラーがあります。1 つのビューにはボタンがあり、ユーザーがボタンをクリックすると、MPMoviePlayer コントローラーが存在する別のビューにリダイレクトされます。MPMoviePlayer コントローラー ビューをデフォルトで LandsapeRight モードに表示したいと考えています。
以下のコードをbuttonActionに記述します
-(void)buttonAction
{
tLive = [[toneTvlive alloc]init];
[self.navigationController pushViewController:tLive animated:YES];
}
そして2番目のビューでは、以下のコードを書きます
- (void)viewDidLoad
{
[super viewDidLoad];
printf("\n hii");
self.navigationController.navigationBar.hidden = YES;
[[UIApplication sharedApplication]setStatusBarHidden:NO];
NSURL *mediaURL = [NSURL URLWithString:@""];
mp = [[MPMoviePlayerController alloc] initWithContentURL:mediaURL];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(moviePlayBackDidFinish:)
name:MPMoviePlayerPlaybackDidFinishNotification
object:nil];
//[mp setControlStyle:MPMovieControlStyleFullscreen];
[mp setMovieSourceType:MPMovieSourceTypeStreaming];
[mp setFullscreen:YES animated:YES];
[mp.view setFrame: CGRectMake(0,0, 480,320)];
[self.view addSubview:mp.view];
[mp prepareToPlay];
[mp play];
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
// Return YES for supported orientations.
return (interfaceOrientation == UIInterfaceOrientationLandscapeRight);
}
最初にプログラムを実行すると、縦向きモードでのみビューが表示されます。ビューを横向きに回転するように促すことはありませんが、デバイスを回転させた後は正常に動作します。