Ich versuche ein Overlay zu erstellen, das über einem AVPlayer angezeigt wird, wenn ich pause drücke. Das Problem, das ich habe, ist, dass, während ich Tasten gut überlagern kann ich nicht die Fokus-Engine in TVOS bekommen kann, um auf sie zu konzentrieren ... Ich bin ziemlich sicher, dass dies geschieht, da der Spieler Rahmen rauh Fokus (es ist Fullscreen @ 1080p) und ich kann mich nicht auf Objekte konzentrieren, die sich innerhalb des Frames befinden.Hinzufügen von Overlay-Schaltflächen zu tvOS AVPlayerViewController
Pseudo-Code für das, was ich tue:
class MyViewController: UIViewController {
var playerController = AVPlayerViewController()
@IBOutlet weak var button: UIButton! // button centred on screen that requires focus
override func viewDidLoad() {
super.viewDidLoad()
self.playerController.player = AVPlayer(url: myURL)
self.playerController.view.frame = self.view.bounds
self.view.addSubview(self.playerController.view)
self.view.bringSubview(toFront: self.button)
}
// ... functions that enable listeners and show/hide button when self.playerController.player rate changes
}
Was ich will, Pause drücken können, dann nach oben wischen Fokus auf der Taste (n) anstelle der Suchleiste zu bekommen und dann Wischen Sie bei Bedarf zurück zur Suchleiste. Ähnlich wie die Apple Music-Anwendung, die mit dem tvOS geliefert wird.
Danke.