当主视图分离时,如何使视图保持在屏幕上?

时间:2016-12-27 17:07:25

标签: ios swift uitoolbar podcast uitabview

每次观看视频时,如何制作一个看似不重新加载的视图(停留在屏幕上)?就像Apple的iOS播客应用中的音频控件一样。看图片看我正在引用的音频控件。

我如何在故事板中做到这一点?

enter image description here

3 个答案:

答案 0 :(得分:5)

您所指的通常被称为"迷你播放器",您也可以在许多其他应用中找到它。

你应该使用的技术被称为" UIViewController Containment",在故事板中它可以作为"容器视图"和#34;嵌入Segues"。

典型的故事板可能如下所示:

  • 根视图控制器在其视图中添加了两个Container View。
  • 容器视图具有用于查看控制器的segues。在视图中
  • 与下一个相关的控制器,设置迷你播放器。
  • 上部容器的视图控制器嵌入导航中 控制器和标签视图控制器。

screen

这将创建视图控制器层次结构。

要实现播放器本身,请创建一个在app委托中实例化的播放器类,并将其传递给根vc上的属性。从那里传递到迷你播放器视图控制器和上部视图控制器,它将包含歌曲列表/播客/ ...以供选择。在选择时将帽子歌曲传递给玩家类。

我在GitHub发布了一个示例应用:https://github.com/vikingosegundo/HearThisMiniplayer

screen

答案 1 :(得分:1)

您是在谈论屏幕底部的图标栏(Unplayed,My Podcasts,Featured等)?这是一个UITabBarController接口,可以在故事板中配置。

enter image description here

答案 2 :(得分:1)

我认为你可以在应用程序窗口(UIWindow,UIView的子类)之上添加它

UIView *myView = /* <- Your custom view */;
UIWindow *currentWindow = [UIApplication sharedApplication].keyWindow;
[currentWindow addSubview:myView];

https://stackoverflow.com/a/21850538/1947419

获取代码

或者您可以直接添加到UITabBarController.view,因为它的UIView跨越整个屏幕。

你需要为它制作自定义视图。