Question

J'ai un contrôleur de vue qui a été ajouté à un UITabBarController. Dans ce contrôleur de vue, j'ai un bouton qui ouvre un film à l'aide MPMoviePlayerViewController.

Quand je joue le film, la barre de navigation supérieure est toujours au-dessus du superposée du film, bloquant efficacement une partie de l'écran.

Lorsque ce contrôleur de vue est pas dans un UITabBarController, cependant, le film joue bien.

Quelqu'un sait ce qui se passe?

Était-ce utile?

La solution

figured it out. Je suppose que les choses deviennent bancale parce MPMoviePlayerViewController a une méthode ajoutée en tant que catégorie à UIViewController appelé presentMoviePlayerViewControllerAnimated:. Normalement, vous appelleriez comme ça dans votre UIViewController:

[self presentMoviePlayerViewControllerAnimated:mp];

Mais dans ce cas, si vous avez ajouté votre contrôleur de vue d'une pile de UITabBarController, self est votre contrôleur de vue dans le contrôleur de barre d'onglets, et je suppose que cela rend les choses Screwy. La solution est d'appeler presentMoviePlayerViewControllerAnimated: avec le contrôleur de vue parent, qui dans mon cas, était une autre UIViewController qui était le logement UITabBarController. J'ai simplement fait référence à la vue parent et ajouté à mon avis la méthode init du contrôleur, alors appelé quelque chose comme [parentController presentMoviePlayerViewControllerAnimated:mp].

Ouf. L'espoir qui aide à quelqu'un.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top