每次视图转接时,如何制作似乎没有重新加载(停留在屏幕上)的视图?就像 Apple 的 iOS 播客应用程序中的音频控件一样。查看图片以查看我引用的音频控件。
我如何在情节提要中做到这一点?
您所指的通常称为“迷你播放器”,您也可以在许多其他应用程序中找到它。
您应该使用的技术称为“UIViewController Containment”,在情节提要中,它可以作为“Container View”和“Embed Segues”访问。
典型的故事板可能如下所示:
这将创建视图控制器层次结构。
要实现播放器本身,请创建一个播放器类,您在应用程序委托中实例化该播放器类并将其传递给根 vc 上的属性。从那里将它传递给迷你播放器视图控制器和上层视图控制器,它将包含歌曲/播客/...的列表以供选择。在选择时将帽子歌曲传递给玩家类。
我在 GitHub 上发布了一个示例应用程序:https ://github.com/vikingosegundo/HearThisMiniplayer
我认为您可以将其添加到应用程序窗口之上(这是 UIWindow,UIView 的子类)
UIView *myView = /* <- Your custom view */;
UIWindow *currentWindow = [UIApplication sharedApplication].keyWindow;
[currentWindow addSubview:myView];
从https://stackoverflow.com/a/21850538/1947419获取代码
或者您可以直接添加到 UITabBarController.view,因为它的 UIView 跨越整个屏幕。
不过,您需要为它制作自定义视图。