Come presentare MPMoviePlayerViewController da un UITabBarController?
-
29-09-2019 - |
Domanda
Ho un controller della vista che è stato aggiunto a un UITabBarController
. In questo controller di vista ho un pulsante che apre un filmato utilizzando MPMoviePlayerViewController
.
Quando suono il film, la barra di navigazione superiore è ancora sovrapposto sulla parte superiore del film, in modo efficace bloccando una parte dello schermo.
Quando questo controller di vista non è all'interno di un UITabBarController
, però, il film gioca bene.
Qualcuno sa che cosa sta succedendo?
Soluzione
capito. Credo che le cose ottenere traballante perché MPMoviePlayerViewController
ha un metodo aggiunto come categoria a UIViewController
chiamato presentMoviePlayerViewControllerAnimated:
. Normalmente si dovrebbe chiamare in questo modo nella tua UIViewController
:
[self presentMoviePlayerViewControllerAnimated:mp];
Ma in questo caso, se hai aggiunto il controller in vista di una pila UITabBarController
, self
è il vostro controller di vista all'interno del controller barra delle schede, e credo che questo rende le cose irregolare. La correzione è quella di chiamare presentMoviePlayerViewControllerAnimated:
con il controller vista padre, che nel mio caso, è stato un altro UIViewController
che era abitazioni UITabBarController
. Ho semplicemente fatto riferimento la vista padre ed è aggiunto il metodo init
di mio controller della vista, che allora si chiamava qualcosa come [parentController presentMoviePlayerViewControllerAnimated:mp]
.
Accidenti. La speranza che aiuta qualcuno.