2014-11-25 29 views
6

Uygulamamı kullanırken kullanıcının tercih ettiği ses yolunu denetlemesine izin vermek için MPVolumeView kullanıyorum.iOS yerel MPVolumeView ses rotası menüsünü kapatma

görünümü bu kodla sunulmuştur:

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

Kullanıcı bir menü mevcut seçeneklerle görünür ses rota butonuna tıklıyor.

sorunu: hacim görünümünü gösterir ekran, çünkü benim uygulama kulpları çeşitli olayların gizli gerekebilir ve (şu anda sunulan değilse) ben

aynı anda ses rota menüsünü gizlemek istiyorum

Sorumu: Kullanıcı, iptal düğmesine basmak zorunda kalmadan MPVolumeView'un ses rotası seçim menüsünü el ile kapatmanın mümkün olup olmadığını bilen var mı?

Teşekkürler!

+2

hey actully i aynı sorunu yaşıyorum, cevabım var yaptı. –

cevap

0

iOS 8, sen özel API kullanmak kodunun altına kullanabilirsiniz

  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)]; 
      } 
     } 
    } 
+1

Sorunu çözmesine rağmen, özel API kullanımını önermek genellikle iyi bir uygulama değildir. – Michal

İlgili konular