2016-06-16 7 views
0

Ich mache eine tvOS App und ich habe alle ViewController in einem NavigationController. Es gibt mehrere Ebenen der App, die einen "Show" -Segue zum nächsten ViewController haben. Ich habe eine Funktion, die jedes Mal ausgeführt werden muss, wenn die Ansicht angezeigt wird, also habe ich den Funktionsaufruf in viewDidAppear gestellt, weil ich dachte, dass er aufgerufen wird, wenn ich "Menu" auf der TV-Fernbedienung drücke und von einem ViewController zu seinem Elternteil zurücktrete. Also meine Frage ist, was ist das Standardverhalten der Menü-Taste, ruft es eine Funktion auf die ich zugreifen kann? Wie kann ich einen Funktionsaufruf in meinem übergeordneten ViewController vornehmen, wenn ich Menu in dem unterordneten Element drücke und es zu dem übergeordneten Element zurückkehrt.tvOS Menü Button Standardverhalten

Ich fühle mich wie meine Frage keinen Sinn macht, also wenn Sie Klärung benötigen, zögern Sie bitte nicht zu fragen.

Danke!

Antwort

1

Sie können das Standardverhalten der Menütaste in den Richtlinien hier Apfel finden: https://developer.apple.com/tvos/human-interface-guidelines/remote-and-controllers/

Um es klar zu machen: Sagen Sie bitte in der 2. View-Controller sind, die Sie nach dem 1. View-Controller gedrückt erreicht wird. Wenn Sie nun im zweiten VC auf die Menü-Taste tippen, gelangen Sie zurück zum ersten VC. Wenn Sie im ersten VC erneut auf die Menüschaltfläche tippen, wird die App in den Hintergrund versetzt und Sie gelangen zum Apple TV-Startbildschirm.

Zum Zugriff auf die Menüschaltfläche kommen: Ich war nicht in der Lage, das Standardverhalten zu überschreiben, aber ich denke, Sie können darauf achten, indem Sie die pressesBegan-Methode überschreiben.

override func pressesBegan(presses: Set<UIPress>, withEvent event: UIPressesEvent?) { 

    switch presses.first!.type { 

     case UIPressType.Menu : // Your code here 
     default : break 

    }