按下 tvOS 中的菜单按钮后,玩家控制器将关闭

问题描述 投票:0回答:1

现在我正在开发 tvOS 应用程序。该应用程序基于视频播放/暂停等媒体类型。我想,我什么时候展示用于播放视频的视频控制器。通常,我按下菜单按钮,视频控制器会关闭并重定向到上一个屏幕。虽然我的要求是,如果用户暂停视频并按我的要求的菜单按钮,则关闭视频控制器。但在这种情况下,我按菜单按钮两次以关闭视频控制器。

我正在使用此代码来解雇。

override func viewWillAppear(animated: Bool) {

    let menuPressRecognizer = UITapGestureRecognizer()
    menuPressRecognizer.addTarget(self, action: #selector(VideoPlayerViewController.menuButtonAction(_:)))
    menuPressRecognizer.allowedPressTypes = [NSNumber(integer: UIPressType.Menu.rawValue)]
    self.playerController.view.addGestureRecognizer(menuPressRecognizer)
}

func menuButtonAction(ges:UITapGestureRecognizer) {
    self.dismissView()
}

但它没有按要求工作。我的要求是菜单 只需按一次按钮即可关闭视图控制器。

ios swift uigesturerecognizer tvos avplayerviewcontroller
1个回答
-1
投票

不要向播放器添加点击手势,而是在 viewDidLoad 方法中添加到控制器视图。

  private func addMenuGestureRecognizerWithType(pressType : UIPress.PressType, selector : Selector) {
        let menuGesture = UITapGestureRecognizer(target: self, action: selector)
        menuGesture.allowedPressTypes = [NSNumber(value: pressType.rawValue)]
        view.addGestureRecognizer(menuGesture)
    }
  
 func menuButtonAction(ges:UITapGestureRecognizer) {
        if isAdsPlaying {
            return
        }
        if isLiveStream {
            self.dismiss(animated: false, completion: nil)
        }
        if flowBottomConstraint?.constant == 0 && nextVideoDetailView.isHidden {
            hideRelatedVideoOnMenuTap()
        } else {
            self.dismiss(animated: false, completion: nil)
        }
    }
© www.soinside.com 2019 - 2024. All rights reserved.