Как представить mpmovieplayerviewcontroller из uitabbarcontroller?
-
29-09-2019 - |
Вопрос
У меня есть контроллер вида, который был добавлен в UITabBarController
. Анкет В контроллере этого представления у меня есть кнопка, которая открывает фильм, используя MPMoviePlayerViewController
.
Когда я играю в фильм, верхняя навигационная панель все еще накладывается на вершину фильма, эффективно блокируя часть экрана.
Когда этот контроллер представления не внутри UITabBarController
, Однако фильм играет нормально.
Кто-нибудь знает, что происходит?
Решение
Догадаться. Я думаю, что все становится шатким, потому что MPMoviePlayerViewController
имеет метод, добавленный в качестве категории к UIViewController
называется presentMoviePlayerViewControllerAnimated:
. Отказ Обычно вы называете это так в своем UIViewController
:
[self presentMoviePlayerViewControllerAnimated:mp];
Но в этом случае, если вы добавили контроллер представления в UITabBarController
куча, self
Ваш контроллер представления в контроллере стержня, и я думаю, что это делает все возможное. Исправление - вызов presentMoviePlayerViewControllerAnimated:
с контроллером родительского представления, который, в моем случае, был другим UIViewController
Это было жилье UITabBarController
. Отказ Я просто ссылался на родительский представление и добавил его в контроллер моего представления init
метод, затем назвал что -то вроде [parentController presentMoviePlayerViewControllerAnimated:mp]
.
Как Надеюсь, это кому -то поможет.