2

MPMoviePlayerViewController私の iPad アプリは、便利なクラスを使用してムービーを全画面表示します。私はそれを次のように提示します:

 [self.hostController presentMoviePlayerViewControllerAnimated:playerViewController];

その後、再生が完了したことが通知されたら、次のように閉じます。

 [self.hostController dismissMoviePlayerViewControllerAnimated];

ムービーの再生中にユーザーが iPad を回転させた場合を除き、正常に動作します。

1- iPad は縦向きです。私の見方は垂直です。2- ユーザーがムービーを縦方向で開始します。プレーヤーは垂直です。3- ユーザーが iPad を水平方向に回転させます。4- プレーヤーが横向きに切り替わります。ここまでは順調ですね。5- ムービーが停止し、プレーヤーが閉じられ、再び表示されます。iPad はまだ水平ですが、ビューはステップ 1 の垂直方向のままです。今度は横向きに見えます。

もちろん、ユーザーが iPad を回転させれば、元に戻ります。私のビューは、iPad が回転すると通常どおり回転します。

誰かがそれに遭遇したことがありますか?簡単な修正?

ありがとう。

4

1 に答える 1

2

私はこれに何度も遭遇しましたが、Apple のバグのようです (そのように報告しています)。

これを回避する唯一の方法 (私が見つけた) はUIDeviceOrientationDidChangeNotificationUIApplicationDidChangeStatusBarOrientationNotification通知をリッスンすることです。これらの通知では相対タイムスタンプを使用してください。両方が 1 秒以内に発生する場合、ステータス バーの変更は、メディア SDK がステータス バーの向きを変更したのではなく、ユーザーが向きを切り替えた結果であることを確認できます。次に、ムービーが終了したら、View Controller に横向きに回転するように指示できます。

于 2010-09-05T14:24:51.570 に答える