0

我面臨着我的應用程序的奇怪問題。實際上,當我展示視頻控制器來播放視頻時。在視頻加載時間用戶按下菜單按鈕應用程序將轉到後臺。雖然我已覆蓋菜單按鈕操作。如何處理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() 
} 

回答

0

您應該使用枚舉的的rawValue代替hash當您指定allowedPressTypes

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

5

這是我的代碼,併爲我工作。

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.hashValue)] 
    self.view.addGestureRecognizer(menuPressRecognizer) 
} 

func menuButtonAction(recognizer:UITapGestureRecognizer) 
{ 
    self.dismiss(animated: true, completion: nil) 
} 
0

夫特4溶液(基於anasaman_p answer):

class MyViewController : UIViewController { 

    override func viewDidLoad() { 

     super.viewDidLoad() 
     let menuPressRecognizer = UITapGestureRecognizer() 
     menuPressRecognizer.addTarget(self, action: #selector(MyViewController.menuButtonAction(recognizer:))) 
     menuPressRecognizer.allowedPressTypes = [NSNumber(value: UIPressType.menu.rawValue)] 
     self.view.addGestureRecognizer(menuPressRecognizer) 
    }   

    @objc func menuButtonAction(recognizer:UITapGestureRecognizer) { 

     // Add any code here you want to run after the menu button pressed 
    } 
} 
相關問題