如何在tvOS远程中处理菜单按钮操作

San*_*ngh 3 focus presentviewcontroller swift avplayerviewcontroller tvos

我的申请面临着奇怪的问题.实际上,当我呈现视频控制器播放视频时.在视频加载时,用户按下菜单按钮,应用程序转到后台.虽然我已经覆盖菜单按钮操作.

这是我的代码.

override func viewWillAppear(animated: Bool) {
    let menuPressRecognizer = UITapGestureRecognizer()
    menuPressRecognizer.addTarget(self, action: #selector(VideoPlayerViewController.menuButtonAction(_:)))
    menuPressRecognizer.allowedPressTypes = [NSNumber(integer: UIPressType.Menu.hashValue)]
    self.playerController.view.addGestureRecognizer(menuPressRecognizer)
}

func menuButtonAction(ges:UITapGestureRecognizer) {
    self.dismissView()
 }
Run Code Online (Sandbox Code Playgroud)

ana*_*s.p 9

这是我的代码并为我工作.

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)
    let menuPressRecognizer = UITapGestureRecognizer()
    menuPressRecognizer.addTarget(self, action: #selector(YourViewController.menuButtonAction(recognizer:)))
    menuPressRecognizer.allowedPressTypes = [NSNumber(value: UIPressType.menu.rawValue)]
    self.view.addGestureRecognizer(menuPressRecognizer)
}

func menuButtonAction(recognizer:UITapGestureRecognizer) {
    self.dismiss(animated: true, completion: nil)
}
Run Code Online (Sandbox Code Playgroud)


Mic*_*uba 5

您应该使用枚举rawValue而不是hash指定时allowedPressTypes

menuPressRecognizer = [NSNumber(value: UIPressType.menu.rawValue)]