リモートコントロールイベントを実装するためには UIViewController クラスのサブクラスをファーストレスポンダーにし、リモートコントロールイベントの通知を受け取るための設定が必要。
INDEX
リモートコントロールイベントを実装する
- UIResponderクラスのcanBecomeFirstResponderメソッドをオーバーライド
- [code]
– (BOOL)canBecomeFirstResponder { return YES; }
[/code] - リモートコントロールイベントの通知を受け取り、現在のViewをFirstResponderにする
- [code]
– (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
[self becomeFirstResponder];
}– (void)viewDidDisappear:(BOOL)animated
{
[[UIApplication sharedApplication] endReceivingRemoteControlEvents];
[self resignFirstResponder];
[super viewDidDisappear:animated];]
}
[/code] - イベントメソッドをオーバーライド
- [code]
– (void)remoteControlRecievedWithEvent:(UIEvent *)receivedEvent {
if(receivedEvent.type == UIEventTypeRemoteControl) {
seitch(receivedEvent.subtype) {
case UIEventSubtypeRemoteControlTogglePlayPause:
//プレイ・ポーズボタン押下時の処理
break;
case UIEventSubtypeRemoteControlTogglePreviousTrack:
//戻るボタン押下時の処理
break;
case UIEventSubtypeRemoteControlToggleNextTrack:
//次へボタン押下時の処理
break;
default:
break;
}
}
}
[/code]
まとめ
Viewをファーストレスポンダーにする、というのがポイントですね。