2015-10-13 1 views
2

У меня есть UIPageViewController, который создает три вида контроллеров для прокрутки (точно так же, как Snapchat). Мне нужно отобразить плавающий, перетаскиваемый контроллер представлений, который воспроизводит видео, которое сводится к видеопроигрывателю в правом нижнем углу, где вы можете прокручивать влево, чтобы остановить видео (как и мини-плеер YouTube).Как отображать плавающий видеоплеер на контроллере просмотра страницы

Моя проблема в том, что я могу создать плавающий, перетаскиваемый контроллер вида, но мини-плеер доступен только на любом контроллере вида, из которого он создан. Видеоплеер должен быть виден с любого экрана. Кроме того, я не могу только проведите пальцем по мини-плееру, чтобы удалить его. UIPageViewController проходит вместе с мини-плеером.

Вот мои варианты:

В моем приложении делегат, я могу вернуть пользовательское окно, в котором UIWindow по существу мой контроллер представления, но всегда видно, где я бы просто создать представление программным путем добавления подвидов и ограничения. Я думаю, что я был бы в состоянии только красть видеоплеер, если я хотел, потому что UIWindow вложен над UIPageViewController:

let myWind = CustomWindow(frame:UIScreen.mainScreen().bounds) 
var window: UIWindow? { 
    set { 

    } 
    get { 

     return myWind 
    } 
} 

Или есть способ гнездиться плавающий контроллер представления над UIPageViewController так это видно на всех контроллерах детского вида, где я могу только проведите мини-плеер влево и вправо, чтобы удалить его, не принеся мне UIPageViewController?

ответ

1

Вот простое предложение для вас иметь плавающее содержимое над вашим UIPageViewController.

  • Используйте обычный подкласс UIViewController как rootViewController для вашего окна.
  • Добавьте ваш UIPageViewController в качестве childViewController к этому контроллеру представления с использованием apis.
  • Добавить свой вид видео на главный контроллер.

Таким образом, вы сможете управлять жестами на вашем видеообъявлении, а также управлять своим UIPageViewController с помощью единого централизованного диспетчера представлений, что в конечном итоге упростит ваш дизайн.

Смежные вопросы