2015-05-15 15 views
7

Ich habe zwei Ansichten wie diese in Storyboard:iOS: Gehen Sie zurück zur vorherigen Ansicht

[View1] -> [Navigation Controller] -> [View2]

Um von Ansicht1 zu gehen (hat Tableview) zu View 2, ich mache das auf einen Klick auf View1:

self.performSegueWithIdentifier("showmyview2", sender:self) 

Dies funktioniert. Jetzt

ich habe eine Schaltfläche auf View 2, die, wenn sie angeklickt sollte mich zurück zur vorherigen Ansicht d.h Ansicht 1.

Ich versuchte dies:

navigationController!.popViewControllerAnimated(true) 

Aber das funktioniert nicht. Wie gehe ich zurück zur ersten Ansicht?

+0

funktioniert ist Ihre performesgue ist Pushview Controller oder Presentview-Controller ?? – Mukesh

+0

miuku> nicht sicher, wo sehe ich das? Der NavigationController ist die UINavigationController-Klasse im Identity Inspector. Sorry, ich bin neu in iOS, Swift – Jasper

+1

Ihr View1 ist nicht in der Navigation Controller-Hierarchie, so dass Sie PopViewController auf navigationController nicht aufrufen können, um wieder zu View1 –

Antwort

30

zuerst einen Navigation-Controller zu Ihrem ersten view1 durch Storyboard hinzufügen. (Editor-> Einbinden Navigation-Controller), wenn die Navigation nicht vorhanden ist.

OR

self.dismissViewControllerAnimated(true, completion: nil); 

Rufen Sie diese Funktion und versuchen, statt Navigation popviewcontroller

+0

Vielen Dank das hat funktioniert! – Jasper

+5

** SWIFT 3.0 ** Syntax hat sich so geändert; 'self.dismiss (animiert: true, Abschluss: nil)' – Trevor

5

Verwenden Sie diesen Code ersten Blick in Ihrer Schaltfläche Aktion präsentieren:

let storyboard = UIStoryboard(name: "Main", bundle: nil) 
let vc = storyboard.instantiateViewControllerWithIdentifier("FirstView") as! TableViewController 
self.presentViewController(vc, animated: true, completion: nil) 

Und vergessen Sie nicht, Id zu Ihrem ersten Blick zu geben.

Wählen Sie Ihren FirstView in storyBoard und klicken Sie dann auf Identity Inspector, und Sie können StoryBoard ID wie Show unten in Image zuweisen.

enter image description here

+0

Dharmesh> Nachdem ich das View1 im Storyboard ausgewählt habe, sehe ich keine Möglichkeit, ID im Identity oder Attribute Inspector bereitzustellen. – Jasper

+0

Überprüfen Sie meine aktualisierte Antwort. –

+0

Dharmesh Danke - es hat funktioniert. – Jasper

0

self.dismiss (animiert: true, Abschluss: null); Dies wird in Swift 3

Verwandte Themen