6

Apple TV インターフェイスガイドラインによると、ゲームに関しては、ゲームのメイン メニューにいないときは、メニュー ボタンを一時停止ボタンとして使用することになっています (その場合、Apple TV OS に戻る必要があります)。メニュー)。ただし、リモコンからのハードボタン入力を検出する方法がどこにも見つかりません(画面上のソフトボタンとは対照的です)。

この場合、リモコンをコントローラーとして使用することになっていることを暗示しているように見えるコントローラーを使用するためのこの短いプログラミングガイドを見つけましたが、もっと簡単な方法があると思わずにはいられません. 元。

 -(void)buttonPressBegan:(NSEvent*)event

など(それは現実的ではありません...そのようなものがあることを願っています)。これを検出する認可された方法は何ですか?

4

4 に答える 4

10

Apple はUITapGestureRecognizer、ボタンが離されたことを検出するためにを使用することを提案しています。

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController {
    UITapGestureRecognizer *tapRecognizer;
}

-(void)viewDidLoad {
    [super viewDidLoad];

    tapRecognizer = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(handleTap:)];
    tapRecognizer.allowedPressTypes = @[[NSNumber numberWithInteger:UIPressTypeMenu]];
    [self.view addGestureRecognizer:tapRecognizer];
}

-(void)handleTap:(UITapGestureRecognizer *)sender {
    if (sender.state == UIGestureRecognizerStateEnded) {
        NSLog(@"Menu button released");
    }
}

の完全なリストについては、 UIPress クラス リファレンスUIPressTypeを参照してください。

于 2015-09-15T11:45:55.167 に答える