2016-04-25 9 views
0

Ich habe einfache App. Mein tableViews enthält einige Wörter; Ich posten Daten im Post-Bildschirm und ich möchte zurück zum ersten tableView Bildschirm. Ich habe dafür eine Überleitung benutzt. Das Problem ist, dass jedes Mal nach der Buchung, klicken Sie auf post Schaltfläche öffnet eine neue tableView über den Post-Bildschirm. Ich möchte zum Original zurückkehren.iOS-Segment zweimal Bildschirm

Tabellenansicht Bildschirm -> Post-Screen -> Neue Tabellenansicht Bildschirm

Aber ich will

Tabelle Vievscreen < -> Post-Bildschirm

+0

jemanden helfen Suchst du nach 'self.navigationController.popViewControllerAnimated (true)'? – JAL

+0

Ich denke, mein Problem ist ähnlich dem: http://stackoverflow.com/questions/26337304/view-appearing-twice-when-performing-segue – JRdsdUY

+0

Verwenden Sie eine Abwicklungs-Überleitung - http://stackoverflow.com/questions/ 36824524/programmatically-defining-a-new-navigation-controller-order-stack/36829034 # 36829034 – Paulw11

Antwort

0

Wir brauchen viel mehr Informationen zu dem, was vorgesehen ist. Dies kann jedoch dazu führen, dass Sie richtig beginnen.

Wenn Sie einen Navigations-Controller verwenden, wobei diese Ansicht Code in Ihrem Beitrag setzen:

navigationController!.popViewControllerAnimated(true) 

Wenn Sie NICHT Navigation verwenden, sondern die Ansicht modal zeigen, dann verwenden Sie die folgend in Ihrem Beitrag Code anzeigen:

+0

Ich benutze Navigation Controller, ich habe es jetzt versucht es ist wie 'Table View -> Table View 'nach dem Posten der Daten. Wenn ich popViewController lösche, sieht es so aus: 'Table View Screen '-> Post Screen -> Neuer Table View Screen' – JRdsdUY

+0

Sie haben 2 View Controller, einen mit dem TableView, den anderen mit einigen Postdaten. In Ihrer Ansicht Controller, wo die Post-Daten sind.Kopieren Sie den Code, und fügen Sie ihn dort ein, wo Sie den View-Controller ablehnen. – oyalhi

+0

sicher, aber ich create segue mit der rechten Maustaste auf den Button und die Erstellung von Action-Segment "Show", daher gibt es nichts in den Code im Zusammenhang mit dem Segment. – JRdsdUY

0

Die meisten Segmente erstellen eine neue Instanz eines View-Controllers und zeigen sie über vorhandenen View-Controllern an.

Wenn Sie einem Navigations-Stack mit einem Push einen View-Controller hinzufügen, möchten Sie einen Popup ausführen, wie in JALs Kommentar beschrieben.

Wenn Ihr segue modal ist, möchten Sie eine dismissViewController tun: animated:

Sie auch eine Abwickelstation segue einrichten könnte, aber das ist übertrieben für diesen einfachen Fall sein könnte.

1

Ich hatte das gleiche Problem.Es ist jetzt gelöst. Bitte lassen Sie mich wissen, ob das hilft.

Ich habe bereits eine segue verknüpfen aus Tabellensicht Zelle zu einer anderen Ansicht mit dem Namen DynamicSuperView

func tableView(_tableView: UITableView, didSelectRowAt indexPath: IndexPath) 
{ 
//Remove the below line from this function as it will perform segue. 
//performSegue(withIdentifier: "DynamicSegue", sender: self) 
} 


override func prepare(for segue: UIStoryboardSegue, sender: AnyObject?)  { 
// This will actually perform your segue 
var DestViewController = segue.destination as! DynamicSuperView 
let selectedRow = tableView.indexPathForSelectedRow?.row 
DestViewController.labelText = names[selectedRow!] 
} 

Hoffnung dies jemand hilft.

0

ich das gleiche Problem immer hier, aber ich weiß, dass ich über die Kontrolle nur falsch gemacht habe + klicken, ich aus der Zelle gezogen, muss die richtige aus seinem Tableview

Ich hoffe, die