如何检测Apple TV Siri Remote按键?

mre*_*dig 6 objective-c tvos

根据Apple TV界面指南,当你不在游戏的主菜单时,你应该使用菜单按钮作为暂停按钮(在这种情况下它应该返回到Apple TV OS)菜单).但是,我无法在任何地方找到您应该如何检测遥控器上的硬按钮输入(而不是屏幕上的软按钮).

我发现这个短节目指南使用控制器,几乎似乎在暗示,你应该使用遥控器在这种情况下,控制器,但我不能不认为有一个简单的方法.恩.

 -(void)buttonPressBegan:(NSEvent*)event
Run Code Online (Sandbox Code Playgroud)

等等(那不是真的......我只是希望有类似的东西).是什么/有一种制裁的方式来检测这个?

Dan*_*orm 10

Apple建议使用a 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");
    }
}
Run Code Online (Sandbox Code Playgroud)

有关UIPressType参考UIPress类参考的完整列表.