2012-02-08 7 views
2

私はバックグラウンドでオーディオを再生するアプリケーションを持っています。メインビューは、ユーザーが最後に表示されたビューの場合、すべて正常に動作します。IOS - モーダルビューがメインビューの上にあるときにリモートコントロールイベントが受信されない

ただし、ユーザーが2番目のビューに移動すると、リモートコントロールイベントは機能しなくなります。

メインビューコントローラは、リモートコントロールイベントを処理する場所です。メインビューにフォーカスがない場合でも、リモートコントロールがアプリケーションのオーディオを制御できるようにするにはどうすればよいですか?

UPDATE:

が私のメインビューコントローラにこのコードを追加するには、すべてがうまく動作するように思えます。

- (BOOL)canResignFirstResponder{ 
    return NO; 
} 

このコードに悪影響はありますか?

答えて

1

メインビューとモーダルビューの2つのビューコントローラがあるとします。メインビューコントローラーに 'canBecomeFirstResponder'をYESに設定し、サブコントローラーを 'canBecomeFirstResponder'にNOに設定すると、よりクリーンになります。あなたが呼び出すことを覚えている限り、あなたのコードから悪影響を受けるべきではありません。アプリケーションが終了したときに辞めるようにしてください。

のいずれかで:

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

または

- (void)applicationWillTerminate:(UIApplication *)application 
{ 
    [[UIApplication sharedApplication] endReceivingRemoteControlEvents]; 
    [self.viewController resignFirstResponder]; 
} 
関連する問題