2016-08-18 8 views
0

Ich bin neu in Swift und iOS Dev aber ich denke, dass ich weiß, wie man es isst. Ich habe ein Problem bei der Verwendung von popToViewController. Das Problem ist, dass ich den UINavigation Stack beim Drücken der Taste "löschen" möchte. Also tat ich dies wie hier:Swift popToViewController funktioniert nicht

navigationController?.popToViewController((navigationController?.viewControllers[0])!, animated: false) 

ich nur ersten Viewcontroller in dem Stapel haben will. Bevor ich auf die Schaltfläche Stapel klicken enthält

([<EmpMan.ViewController: 0x7fd191535ba0>, 
<EmpMan.TableViewController: 0x7fd191564be0>, 
<EmpMan.NewEmployee: 0x7fd1916c0320>]) 

Wenn ich den Stapel schaut auf den Button klicken:

([<EmpMan.ViewController: 0x7fd191535ba0>, 
<EmpMan.TableViewController: 0x7fd191564be0>, 
<EmpMan.NewEmployee: 0x7fd1916c0320>, 
<EmpMan.TableViewController: 0x7fd19171dbf0>]) 

Ich denke, nach popToViewController der Stapel sollte nur Viewcontroller enthält. Warum es nicht funktioniert?

+1

Wie wäre es mit 'popToRootViewControllerAnimated'? –

+0

Nicht getestet, aber später in anderen Feature möchte ich das gleiche verwenden, ohne auf den Boden des Stapels gehen, aber zum Beispiel für die zweite Position im Stapel. – maxeppc

+0

popToRootViewControllerAnimated funktioniert gut. Aber was, wenn ich die zweite Position im Stapel erreichen möchte. – maxeppc

Antwort

0

Wenn die Taste was tut, ist ein Übergang, als nur die „Show Detail segue tun, und Sie sind fertig.

Andernfalls machen einen boolean in dem Viewcontroller mit dem Knopf, der auf true gesetzt ist, wenn Sie die Taste Erstellen Sie ein sekundäres Segment aus jedem der möglichen Streckenrouten außerhalb des Controllers. Wenn dieser Boolesche Wert auf "true" gesetzt ist, verwenden Sie "Show Detail Segue" als nächstes Segment anstelle von "Show Segue".

Show Detail löscht automatisch den Navigationsstapel.Es gibt auch andere Möglichkeiten, dies zu handhaben, aber ich gebe Ihnen nur eine akzeptable Antwort, die funktioniert.Lesen Sie mehr über Segues und benutzerdefinierte Segmente und den Navigationsstapel, um zu erhalten ein tiefes Verständnis. Es ist Ihre Zeit wert, wenn Sie in iPhone App Dev schwer werden wollen.

+0

Das ist, was ich suche. Ich habe gerade den Übergang von Push zu Show Detail geändert, wie Sie es empfohlen haben, und jetzt funktioniert es wie erwartet. Danke !! :) – maxeppc