7

我正在使用 MPVolumeView 允许用户在使用我的应用程序时控制他的首选音频路由。

该视图由以下代码呈现:

self.volumeView = [[MPVolumeView alloc] initWithFrame:self.view.frame];
self.volumeView.showsVolumeSlider = NO;
[self.view addSubview:self.volumeView];

当用户点击音频路由按钮时,会出现一个包含可用选项的菜单。

问题:显示音量视图的屏幕可能需要隐藏,因为我的应用程序处理了各种事件,我想同时隐藏音频路由菜单(如果它当前存在)

我的问题:有人知道是否可以手动关闭 MPVolumeView 的音频路由选择菜单,而无需用户按下取消按钮?

谢谢!

4

1 回答 1

0

在 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)];
            }
        }
    }
于 2015-04-22T07:35:57.410 回答