2017-10-25 2 views
0

Ich liebe wirklich die grafische Oberfläche des Storyboard-Designers in Xcode, weil alle Segmente mit einem Pfeil angezeigt werden. Swift Present ViewController programmgesteuert beim Anzeigen von Segmenten (Pfeile) im Storyboard

Aber manchmal, wenn es mehr Komplexität (z. B. Variable zu übergeben), muss ich eine programmatische Möglichkeit verwenden, um zu einem anderen ViewController zu wechseln.

let storyBoard : UIStoryboard = UIStoryboard(name: "Main", bundle:nil) 
let nextViewController = storyBoard.instantiateViewController(withIdentifier: "HomeViewController") as! HomeViewController 

// pass variable 
nextViewController.email = self.textfieldEmail.text! 

self.present(nextViewController, animated:true, completion:nil) 

Ich mag nicht, dass einige der segues in meiner App mit einem Pfeil in Storyboard angezeigt werden, während die komplexeren nicht. Gibt es eine Möglichkeit, diese komplexeren Segmente mit einem Pfeil in der Main.storyboard zu zeigen?

+0

Ist das nicht, was die 'preparate (for: sender:)' Methode von 'UIViewController' ist? – rmaddy

+0

Sie sollten https://stackoverflow.com/questions/5210535/passing-data-between-view-controllers überprüfen – rmaddy

Antwort

1

Es gibt zwei Möglichkeiten, dies zu erreichen:

  1. Sie segues in Interface Builder erstellen können, und übergeben Sie Daten in prepareForSegue Methode
  2. Wenn Code-Controller wechseln können Sie immer noch segue in Ihrem Storyboard erstellen, die Sie wird nicht verwendet - nur für die Visualisierung
+0

Wie kann ich ein Segment in meinem Storyboard nur für die Visualisierung erstellen? –

+0

Verkleinern Sie etwas, halten Sie nun ctrl gedrückt und klicken und halten Sie den ersten View-Controller, gehen Sie zum zweiten View-Controller und lassen Sie die Maustaste los. Segue erstellt. –

Verwandte Themen