DAS*_*DAS 6 iphone xcode singleton audio-player ios
在使用我的应用程序期间,用户应该能够启动,停止,转发背景音乐.(跨越几个UIViewControllers).为此,我让我的MusicPlayer成为一个单例(NSObject
).如果我在每个视图中为自己创建控件它可以工作,但我想要的基本上是一个处理音乐播放器类并且一直存在的视图.用户还应该能够通过向左或向右滑动来"隐藏"和"显示"视图.因此,如果它被隐藏并且我更改了我的视图控制器,它也应该隐藏在新视图控制器中,音乐不应该被中断.
我在我的家庭视图控制器中尝试了这个,它可以工作:
UIView * playerView = [[UIView alloc] initWithFrame:CGRectMake(0, 300, self.view.bounds.size.width, 44)];
playerView.backgroundColor = [UIColor redColor];
[[[[UIApplication sharedApplication] delegate] window] addSubview:playerView];
Run Code Online (Sandbox Code Playgroud)
有没有办法在ApplicationDelegate中执行此操作?
如果你的单身MusicPlayer正在播放音乐,那么当视图改变时不应该中断它.而不是为每个视图控制器创建音乐控件,您可以将音乐控件视图添加为窗口的子视图,并确保它始终位于其他所有视图之上.
更新: 在您的应用程序委托中,您通常需要一些代码来设置主视图(即applicationDidFinishLaunching方法).我假设您有一个主导航或标签控制器,您可以在其中执行其他所有操作.因此,在将其视图添加到窗口后,创建并添加音乐播放器控制器视图并将其添加为窗口的子视图.只要您不向窗口添加其他视图,它就会保持在最顶层(如果这样做,您只需将音乐控件移回顶部).
我会使用一个单独的MusicPlayerController视图控制器,它拥有音乐播放器控件视图.这样,其他视图控制器可以轻松显示或隐藏控件.
归档时间: |
|
查看次数: |
3938 次 |
最近记录: |