Wie MPMoviePlayerViewController von einem UITabBarController präsentieren?
-
29-09-2019 - |
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?
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.