如何在页面视图控制器上显示浮动视频播放器

时间:2015-10-13 05:47:06

标签: ios swift uipageviewcontroller uiwindow

我有一个UIPageViewController实例化三个视图控制器来刷卡(就像Snapchat一样)。我需要显示一个浮动,可拖动的视图控制器,可以播放最小化到右下角视频播放器的视频,您可以向左滑动以停止视频(就像YouTube的迷你播放器一样)。

我的问题是我能够创建浮动,可拖动的视图控制器,但迷你播放器仅在其创建的任何视图控制器上可见。视频播放器应该可以在任何屏幕上看到。此外,我不能滑动迷你播放器以删除它。 UIPageViewController与迷你播放器一起滑动。

以下是我的选择:

在我的app委托中,我可以返回一个自定义窗口,其中UIWindow本质上是我的视图控制器但始终可见,我只是通过添加子视图和约束以编程方式创建视图。我认为如果我愿意,我只能刷视频播放器,因为UIWindow嵌套在UIPageViewController上方:

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

    }
    get {

        return myWind
    }
}

或者,有没有办法将浮动视图控制器嵌套在UIPageViewController之上,这样它就可以在所有子视图控制器上看到,我只能 向左滑动迷你播放器并且在没有带UIPageViewController的情况下删除它的权利?

1 个答案:

答案 0 :(得分:1)

这是一个简单的建议,您可以通过UIPageViewController获得一些浮动内容。

  • 使用普通的UIViewController子类作为窗口的rootViewController。
  • 使用包含apis将您的UIPageViewController作为childViewController添加到此视图控制器。
  • 将视频视图添加到主视图控制器。

这样,您就可以在视频视图上管理手势,还可以从一个集中的视图控制器控制您的UIPageViewController,最终使您的设计更加轻松。