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

リモートコントロールイベントを実装するためには UIViewController クラスのサブクラスをファーストレスポンダーにし、リモートコントロールイベントの通知を受け取るための設定が必要。

リモートコントロールイベントを実装する

UIResponderクラスのcanBecomeFirstResponderメソッドをオーバーライド
- (BOOL)canBecomeFirstResponder { return YES; }
リモートコントロールイベントの通知を受け取り、現在のViewをFirstResponderにする
- (void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:animated];
    [[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
    [self becomeFirstResponder];
}

- (void)viewDidDisappear:(BOOL)animated
{
    [[UIApplication sharedApplication] endReceivingRemoteControlEvents];
    [self resignFirstResponder];
    [super viewDidDisappear:animated];]
}
イベントメソッドをオーバーライド
- (void)remoteControlRecievedWithEvent:(UIEvent *)receivedEvent {
    if(receivedEvent.type == UIEventTypeRemoteControl) {
        seitch(receivedEvent.subtype) {
            case UIEventSubtypeRemoteControlTogglePlayPause:
                //プレイ・ポーズボタン押下時の処理
            break;
            case UIEventSubtypeRemoteControlTogglePreviousTrack:
                //戻るボタン押下時の処理
            break;
            case UIEventSubtypeRemoteControlToggleNextTrack:
                //次へボタン押下時の処理
            break;
            default:
            break;
        }
    }
}

まとめ

Viewをファーストレスポンダーにする、というのがポイントですね。

関連する項目

siro:chro 無料ゲーム SQN をリリースしました

img_sqn_00

sirochro 初の無料ゲームアプリ SQN をリリースしました。
記事:SQN: iOS 無料ゲームアプリ SQN - Sequential Numbers をリリース
ちょっとした時間に楽しめる完全無料のゲームなっていますので、是非ダウンロードして遊んでみてください。

↓SQN のダウンロードはこちらから

Related Contents

Pickup Contents