6

私のアプリでサポートされているインターフェイスの向きは、縦向きと逆さまです。ただし、ビデオを再生するときは、フルスクリーンの横向きで再生したいです。現在、このコードを使用すると、デバイスが回転されている場合でも、縦向きのみが再生されます。

[player.moviePlayer setControlStyle:MPMovieControlStyleFullscreen];
player.view.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;
[self presentMoviePlayerViewControllerAnimated:player];

横向きモードにするにはどうすればよいですか?

4

1 に答える 1

11

これが私が行う方法です:
プロジェクトファイルで、 サポートされているインターフェースの向き
まだ縦向きのみである必要があるすべてのViewControllerで横向きをサポートしていることを確認し、このコードを追加します

//ios6
- (BOOL)shouldAutorotate {
    return NO;
}

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
    return UIInterfaceOrientationPortrait;
}
- (NSUInteger)supportedInterfaceOrientations {
    return UIInterfaceOrientationMaskPortrait;
}

//ios4 and ios5
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return (interfaceOrientation == UIInterfaceOrientationPortrait);
}

コードが両方で実行されるように、iOS5 と iOS6 の両方の呼び出しを入れました。

MPMoviePlayerController ビューがフルスクリーンになると、他のすべての上に重ねられた新しい ViewController になります。そのため、プロジェクトのサポートされているインターフェイスの向きに従って回転することができます。他の ViewController を強制的に Portrait にした場所は表示されません。

于 2012-10-23T00:11:57.943 に答える