2016-12-27 253 views
4

每当视图出现问题时,如何制作不会重新加载(保持屏幕显示)的视图?就像Apple iOS Podcast应用中的音频控制一样。查看图片以查看我参考的音频控件。如何在主视图继续播放时使视图保持在屏幕上?

如何在故事板中执行此操作?

enter image description here

+0

我从未使用过苹果的播客应用程序,所以我不太清楚你问什么,但是这是否帮助? HTTP://计算器。com/a/33179604/341994 – matt

+0

我可以重建每一个segue的控件,但是我想在不可能的情况下重建它们。 – Hairy

+1

如果您在https://i.stack.imgur.com/s1yuZ.png的末尾添加'l'(L不是I),即将其设置为https://i.stack.imgur.com/s1yuZl。 PNG然后图像会更小,也许更好:D – Honey

回答

4

你所说的通常称为“迷你播放器”,你也可以在其他许多应用中找到它。

您应该使用的技术称为“UIViewController Containment”,在故事板中可以通过“Container View”和“Embed Segues”进行访问。

一个典型的故事板可能看起来像:

  • 根视图控制器有两个容器视图加入到它的视图。
  • 容器视图已经延伸到查看控制器。在视图
  • 控制器涉及到较低的一个,设置迷你播放器。
  • 上层容器的视图控制器嵌入导航控制器和选项卡视图控制器中。

screen

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

要实现播放器本身,请创建一个在应用程序委托中实例化的播放器类,并将其传递给根虚拟机上的属性。从那里传递给迷你播放器视图控制器和上方视图控制器,该控制器将包含歌曲列表/ podcast/...以供选择。在选择通过球员类的帽子歌曲。


我发布在GitHub上的示例应用程序:https://github.com/vikingosegundo/HearThisMiniplayer

screen

+0

请注意,我使用更好的约束将新版本推送到GitHub。 – vikingosegundo

1

你在谈论的图标在屏幕底部的工具栏(之赛事,我的播客,精选等)?这是一个UITabBarController接口,可以在故事板中配置。

enter image description here

+0

不,播放播客后出现在底部的音频控件。我会尝试张贴图片。 – Hairy

+0

我添加了图片,这些控件在导航选项卡时不会改变。我正在尝试使用音频控件构建自己的播客应用程序,这些应用程序像应用程序一样保持静态。我是ios开发新手,所以它可能是一些简单的我缺少的东西。 – Hairy

+1

我的答案保持不变。这些控件是标签栏控制器视图的子视图,就像标签栏本身一样,所以它们在视图控制器被换出时保持不变,就像标签栏本身一样。基本上它是关于拥有一个稳定的父视图控制器及其视图,以及其视图被换出的子视图控制器。 – matt

1

我认为你可以做到这一点增加它的应用程序窗口(这是一个UIWindow,UIView的子类)的顶部

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

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

或者你可以注意到代码因为它是跨越整个屏幕的UIView,因此直接添加到UITabBarController.view。

虽然你需要为它定制视图。

相关问题