Отключить стандартное меню аудио маршрута MPVolume для iOS
Я использую MPVolumeView, чтобы позволить пользователю контролировать свой предпочтительный аудио маршрут при использовании моего приложения.
Представление представлено этим кодом:
self.volumeView = [[MPVolumeView alloc] initWithFrame:self.view.frame];
self.volumeView.showsVolumeSlider = NO;
[self.view addSubview:self.volumeView];
Когда пользователь нажимает кнопку звукового маршрута, появляется меню с доступными опциями.
Проблема: экран, который показывает представление объема, возможно, должен быть скрыт из-за различных событий, которые обрабатывает мое приложение, и я хотел бы скрыть меню аудио маршрута одновременно (если оно в настоящее время представлено)
Мой вопрос: кто-нибудь знает, возможно ли вручную закрыть меню выбора аудио маршрута MPVolumeView, не нажимая кнопку отмены?
Спасибо!
1 ответ
На 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)];
}
}
}