2012-02-08 2 views
2

У меня есть приложение, которое воспроизводит аудио в фоновом режиме. Все работает нормально, когда основным видом является представление, в котором находился последний пользователь.IOS - события пульта дистанционного управления не принимаются, когда модальный вид сверху основного вида

Однако, если пользователь переходит на второй экран, события дистанционного управления больше не работают.

Контроллер главного вида - это место, где я обрабатываю события дистанционного управления. Что я должен делать, чтобы удаленные элементы управления могли управлять звуком приложения, даже если основное представление не находится в фокусе?

UPDATE:

Добавление этого кода в моей основной контроллер зрения, кажется, делает все отлично работает.

- (BOOL)canResignFirstResponder{ 
    return NO; 
} 

Может ли этот код иметь какие-либо плохие побочные эффекты?

ответ

1

Я предполагаю, что у вас есть два разных контроллера вида, один для основного вида и один для модального вида. Возможно, было бы проще, если основной контроллер представления установил 'canBecomeFirstResponder' в YES, а субконтроллер установил 'canBecomeFirstResponder' на NO. Не должно быть никаких побочных эффектов от вашего кода, если вы не забыли позвонить, не забудьте уйти в отставку, когда приложение выйдет.

Либо с:

- (BOOL)canResignFirstResponder{ 
    return mAppIsActive; 
} 
- (void)applicationWillTerminate:(UIApplication *)application 
{ 
    mAppIsActive = false; 
} 

или

- (void)applicationWillTerminate:(UIApplication *)application 
{ 
    [[UIApplication sharedApplication] endReceivingRemoteControlEvents]; 
    [self.viewController resignFirstResponder]; 
} 
Смежные вопросы