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?

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top