我正在使用MPVolumeView允许用户在使用我的应用程序时控制他喜欢的音频路径.
该代码显示了该视图:
self.volumeView = [[MPVolumeView alloc] initWithFrame:self.view.frame]; self.volumeView.showsVolumeSlider = NO; [self.view addSubview:self.volumeView];
当用户点击音频路由按钮时,会出现一个带有可用选项的菜单.
问题:显示音量视图的屏幕可能需要隐藏,因为我的应用程序处理各种事件,我想同时隐藏音频路由菜单(如果它当前显示)
我的问题:
有没有人知道是否可以手动关闭MPVolumeView的音频路由选择菜单而无需用户按下取消按钮?
谢谢!
解决方法
在iOS 8上,您可以使用以下使用私有API的代码
NSArray *windows = [[UIApplication sharedApplication] windows]; for (UIWindow *window in windows) { if ([NsstringFromClass([window class]) isEqualToString:@"_MPAVRoutingSheetSecureWindow"]) { UIView *view = [window.subviews firstObject]; if ([NsstringFromClass([view class]) isEqualToString:@"MPAVRoutingSheet"]) { [view performSelector:@selector(dismiss)]; } } }