MPMoviePlayerViewController がタブバーのある横向きで回転しない
-
25-09-2019 - |
質問
タブバー アプリケーションで MPMoviePlayerViewController を使用してビデオを表示すると、ビデオはポートレート モードでは正常に再生されますが、ランドスケープ モードでは回転しません。
同じコードは、タブバーなしの別のプロジェクトでも正常に機能します。
autoresizingmaskをflexibleWidthとflexibleHeightに強制しようとしましたが、成功しませんでした。
shouldAutorotateToInterfaceOrientation で YES を返すと、ステータス バーは回転しますが、ムービー インターフェイスは回転しません。
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
// Return YES for supported orientations
return YES;
}
-(IBAction) showFamilleMovie {
NSString *videoURL = [[NSBundle mainBundle]
pathForResource:@"film1"
ofType:@"mp4"];
MPMoviePlayerViewController* theMoviePlayer = [[MPMoviePlayerViewController alloc] initWithContentURL:[NSURL fileURLWithPath:videoURL]];
theMoviePlayer.view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
[self presentMoviePlayerViewControllerAnimated:theMoviePlayer];
}
このプロジェクトがどこから来たのかわかりますか?
ありがとう、ヴィンセント
解決
あなたが試すことができます:
[yourTabbarController presentModalViewController: theMoviePlayer]
回転させることのMoviePlayerを可能にしなければならない。。
他のヒント
私は同じ問題を抱えていたし、そのためのコードキラーは私のappDelegateコードに追加したビューでした。これは、プレイヤーが正常に回転させるようにすることはできませんでした。
私の問題があった。FBConnectライブラリを実装するには、あなたがhandleOpenURL方法(認証が行われているサファリから戻っ)とコントロールを使用していることをFBコントローラクラスのオブジェクトを取得するには、あなたのappDelegateでビューを追加する必要がありますコールバック。私はこのビューが回転を阻止されたことを実現するまで私は時間を費やしています。
ところで、タブバーを気にしないでください。プレイヤーは、あなたがshouldAutorotateToInterfaceOrientationメソッドが追加されていない場合でも、正しく回転する必要があります。