Frage

ich einen View-Controller haben, die zu einem UITabBarController hinzugefügt wurde. In dieser Ansicht Controller habe ich eine Schaltfläche, die einen Film mit MPMoviePlayerViewController eröffnet.

Wenn ich den Film abzuspielen, wird die obere Navigationsleiste noch auf dem Film überschichtet, effektiv einen Teil des Bildschirms Ausblocken.

Wenn diese View-Controller nicht in einem UITabBarController ist jedoch spielt der Film in Ordnung.

Wer weiß, was los ist?

War es hilfreich?

Lösung

es herausgefunden. Ich denke, die Dinge wackelig, weil MPMoviePlayerViewController eine Methode als eine Kategorie zu UIViewController genannt presentMoviePlayerViewControllerAnimated: hinzugefügt hat. Normalerweise würden Sie es wie folgt in Ihrem UIViewController nennen:

[self presentMoviePlayerViewControllerAnimated:mp];

Aber in diesem Fall, wenn Sie die Ansicht-Controller zu einem UITabBarController Stapel hinzugefügt haben, self sind Ihre Ansicht-Controller in der Tab-Leiste Controller, und ich denke, das macht die Dinge verrückt. Das Update ist presentMoviePlayerViewControllerAnimated: mit den übergeordneten View-Controller zu nennen, die in meinem Fall war ein weiterer UIViewController des Gehäuse UITabBarController war. Ich habe einfach die übergeordnete Sicht verwiesen wird und es zu meiner Ansicht Controller init Methode hinzugefügt, dann rief etwas wie [parentController presentMoviePlayerViewControllerAnimated:mp].

Puh. Hoffnung, dass jemand hilft.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top