2016-11-21 1 views
0

Lasst uns sagen, ich habe 3 ViewControllersA, B und C.tvOS Ziel ändern, wenn drücken Sie die Menütaste

A hat eine segue zu B, und wenn ich an B bin, kann ich nur die Menü-Taste auf A zurückzukehren.

B hat eine segue zu C, aber wenn ich bei C bin, ich will nicht, um den Benutzer zu B durch Menü-Taste zurückzukehren, aber ich will ihn gehen A stattdessen (dh, wenn er bei C ist, wenn er die Menütaste drückt, sollte er zu A gehen).

Wie kann ich das tun? Ich benutze Swift.

Antwort

0

Ich fand die Antwort.

Angenommen, diese Funktionen auf Viewcontroller C.

override func viewDidLoad() { 
    super.viewDidLoad() 

    let tapRecognizer = UITapGestureRecognizer(target: self, action: Selector("MenuPressed")) 
    tapRecognizer.allowedPressTypes = [NSNumber(value: UIPressType.menu.rawValue)] 
    self.view.addGestureRecognizer(tapRecognizer) 
    // Do any additional setup after loading the view. 
} 


func MenuPressed(){ 
    performSegue(withIdentifier: "C_to_A", sender: nil) 
} 

, wenn es eine Segue von C nach A mit der Kennung „C_to_A“ ist, dann, wenn der Benutzer drücken Sie Menü (aus C), wird er genommen A (anstelle von B).

+0

Vermutlich muss das "C_to_A" -Seguet eher eine Art von Abwickelung sein als ein normaler Übergang, der eine neue Kopie von "A" erzeugen würde. –

Verwandte Themen