Кнопка маршрута MPVolumeView не отображается постоянно

Я использую MPVolumeview в своем видео наложении, чтобы использовать кнопку маршрута и подключиться к трансляции. Я скрываю ползунок громкости MPVolume. Я пытаюсь изменить размер наложения, чтобы включить рамку для кнопки маршрута, только если доступна трансляция. Ранее я использовал наблюдателя на кнопку маршрута в MPVolumeView, как это:

for (UIView *view in volumeButton.subviews) {
    if ([view isKindOfClass:[UIButton class]]) {
        airplayButton = [view retain];
        [airplayButton addObserver:self forKeyPath:@"alpha" options:NSKeyValueObservingOptionNew context:nil];
    }
}

Затем я устанавливаю логическое свойство, которое отслеживает, является ли кнопка видимой или нет. Однако недавно я обнаружил на iPhone 6, что кнопка маршрута не всегда отображается на видео. Я оглянулся на MPVolumeView и обнаружил, что теперь есть свойство areWirelessRoutesAvailable, поэтому я прошел по коду и обнаружил, что это свойство не всегда верно. Я устанавливаю MPVolumeView в awakeFromNib, и проверка MPVolumeView находится в макетах subviews. Есть ли лучший способ проверить доступность трансляции, кнопка маршрута постоянно показывает проблему с MPVolumeView или я что-то упустил?

1 ответ

Вы можете добавить наблюдатель для MPVolumeViewWirelessRoutesAvailableDidChangeNotification и изменить размер наложения при получении уведомления.

    - (void)viewWillAppear:(BOOL)animated {
      [[NSNotificationCenter defaultCenter] addObserver:self
                                               selector:@selector(handleWirelessRoutesDidChange:)
                                                   name:MPVolumeViewWirelessRoutesAvailableDidChangeNotification object:nil];
    }

    - (void)viewWillDisappear:(BOOL)animated {
        [[NSNotificationCenter defaultCenter] removeObserver:self];
    }

    - (void)handleWirelessRoutesDidChange:(NSNotification *)notification {
        NSLog(@"Wireless routes did change: %@", notification);
        // Resize the overlay
    }
Другие вопросы по тегам