MENU
コンテンツ再構築中

Objective-C:リモートコントロールイベントを実装する

リモートコントロールイベントを実装するためには 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をファーストレスポンダーにする、というのがポイントですね。

関連する項目

Please share it!
  • URLをコピーしました!
  • URLをコピーしました!
INDEX