3

に追加されたViewControllerがありUITabBarControllerます。このViewControllerには、を使用してムービーを開くボタンがありますMPMoviePlayerViewController

映画を再生すると、上部のナビゲーションバーが映画の上にオーバーレイされたままになり、画面の一部が効果的にブロックされます。

ただし、このビューコントローラが内部にない場合UITabBarController、ムービーは正常に再生されます。

誰が何が起こっているのか知っていますか?

4

1 に答える 1

4

理解した。と呼ばれるMPMoviePlayerViewControllerカテゴリとしてメソッドが追加されているため、状況が不安定になると思います。通常、あなたはそれをあなたの中でこのように呼ぶでしょう:UIViewControllerpresentMoviePlayerViewControllerAnimated:UIViewController

[self presentMoviePlayerViewControllerAnimated:mp];

ただし、この場合、ビューコントローラーをUITabBarControllerスタックに追加した場合selfは、タブバーコントローラー内のビューコントローラーであるため、問題が発生する可能性があります。presentMoviePlayerViewControllerAnimated:修正は、親View Controllerで呼び出すことです。これは、私の場合、別のUIViewControllerハウジングUITabBarControllerでした。親ビューを参照し、それをView Controllerのinitメソッドに追加してから、のようなものを呼び出しました[parentController presentMoviePlayerViewControllerAnimated:mp]

ふぅ。それが誰かを助けることを願っています。

于 2010-08-19T06:21:44.707 に答える