2

アプリケーションに があり、MPMoviePlayerViewControllerそれを使用してビデオをフルスクリーンで再生しています。

これは、iPad の IOS 5 OS で正常に動作します。

しかし、iPad 3 上の iOS 6 では、ビデオを再生した後、ステータス バーが消えて空白に置き換わります。

[[UIApplication sharedApplication]setStatusBarHidden:NO]; ビデオがあるところならどこでもステータス バーを元に戻すのは面倒ですか?

私のアプリは非常に大きいので、誰か別の方法を提供できますか?

4

2 に答える 2

3

MPMoviePlayerDidExitFullscreenNotification にオブザーバーを追加しました。このオブザーバーでは、2 秒後に起動する NSTimer を作成します。NSTimer が起動するというメッセージ内で、ステータス バーのスタイルとステータス バーをリセットします。フルスクリーンを終了するためのアニメーションが完了した後、ステータスバーが一貫性のない状態になることに気付いたので、タイマーが必要です。

したがって、MPMoviePlayer を管理する ViewController では、次のことを行います。

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(moviePlayerDidExitFullScreenCallback:) name:MPMoviePlayerDidExitFullscreenNotification object:self.moviePlayerController];

次に、通知セレクター内で:

- (void) moviePlayerDidExitFullScreenCallback:(NSNotification *)aNotification {

    [NSTimer scheduledTimerWithTimeInterval:2.0 target:self selector:@selector(setStatusBarVisible:) userInfo:nil repeats:NO];

}

setStatusBarVisible セレクター内:

- (void) setStatusBarVisible: (NSTimer *)timer {
    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleBlackOpaque];
    [[UIApplication sharedApplication] setStatusBarHidden:NO];
}
于 2012-10-12T23:33:15.603 に答える
1

私はこれと同じ問題に遭遇しました。iOS 6 を使用 MPMovieControlStyleEmbededするとFullScreen = YES 、ビデオの再生に失敗したり、プレーヤーを 2 回呼び出したりして、フレームの配置の問題が発生する可能性があるため、iOS 6 に問題があるようです。

presentMoviePlayerViewControllerAnimatedこの新しいiOS 6でビデオを再生するためのより適切な方法と思われるView Controllerから使用するようにアプリ全体を変更する必要があります

MPMoviePlayerController フルスクリーン モードの問題

于 2012-10-05T06:57:38.070 に答える