2016-07-20 8 views
0

Ich habe zwei UIViewControllers. Es gibt keinen eingebetteten Navigationscontroller. Sie sind durch ein Segment verbunden, das ein "Present Modally" ist.Wie modal viewcontroller ohne Navigationscontroller zu lösen?

Ich habe eine Taste auf Szene2. Wenn es geklickt wird, rufe ich diesen Code:

self.navigationController?.popViewControllerAnimated(true) 

Ich kann sehen, dass der Code getroffen wird, aber nichts passiert. Was mache ich falsch?

Antwort

1

Was Sie falsch machen, ist, dass Sie einen View-Controller aus einem nicht vorhandenen Navigationscontroller herausholen.

Grundsätzlich, wenn Sie sagen self.navigationController?, die nil zurückgibt, weil es keinen Navigationscontroller gibt. Die Pop-Funktion wird also nicht aufgerufen.

Was Sie tun müssen, ist self.dismissViewControllerAnimated(true, completion: nil) anrufen.

0

Ich denke, dass Sie Ihren Controller zu entlassen haben und nicht Pop es Taten folgen zu lassen:

self.dismissViewControllerAnimated(true, completion: {}); 
+0

Sie haben eine nutzlose Semikolon, das ist nicht erforderlich in Swift und seine Verwendung wird abgeraten, wenn nicht extrictly erforderlich. –