質問

私のiPadアプリは、便利なものを使用して映画のフルスクリーンを表示します MPMoviePlayerViewController クラス。私はそれをこのように提示します:

 [self.hostController presentMoviePlayerViewControllerAnimated:playerViewController];

そして後で、演奏が完了したことを通知したとき、私はこのようにそれを却下します:

 [self.hostController dismissMoviePlayerViewControllerAnimated];

ユーザーが映画の再生中にiPadを回転させる場合を除き、それは正常に動作します:

1- iPadは垂直方向です。私の見解は垂直です。 2-ユーザーは垂直方向で映画を開始します。プレーヤーは垂直です。 3-ユーザーはiPadを水平方向に回転させます。 4-プレーヤーは水平方向に切り替えます。ここまでは順調ですね。 5-映画が停止し、プレイヤーが却下され、私の再び現れ、iPadはまだ水平ですが、私の見解は垂直方向にとどまりました。

もちろん、ユーザーがiPadを回転させると、通常に戻ります。 iPadが回転すると、私の見解は正常に回転します。

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

ありがとう。

役に立ちましたか?

解決

私はこれに何度も遭遇しましたが、それはアップルのバグのように見えます(そしてそれをそのように報告しました)。

これの周りで(私が見つけた)唯一の方法は聞くことです UIDeviceOrientationDidChangeNotificationUIApplicationDidChangeStatusBarOrientationNotification 通知。これらの通知で相対的なタイムスタンプを使用します。両方が互いに1秒以内に発生した場合、ステータスバーの変更は、メディアSDKがステータスバーの向きを変更することではなく、ユーザーの切り替えの結果であることを確認できます。次に、映画が終了したら、ビューコントローラーが風景に回転する必要があることを伝えることができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top