Ich habe eine TableViewController
und ich möchte ein Segment in seiner Navigationsleiste auslösen. Ich habe den Abschnitt im Storyboard zu meinem neuen ViewController
erstellt. Wenn ich jedoch auf das Element der Balkenschaltfläche klicke, wird die Ansicht nicht angezeigt.ViewController wird nicht angezeigt, obwohl das Segment ausgelöst wurde
Stattdessen wird der Balkenschaltknopf inaktiv (ausgegraut) und die App bleibt stehen. Es gibt keine Fehlermeldung und die App stürzt auch nicht ab. Die prepareForSegue
Methode in meinem TableViewController
wird auch
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
print("prepare for segue called")
print("destination view controller = \(segue.destinationViewController.description)")
}
Ich habe folgende Dinge:
- erstellt eine benutzerdefinierte Ansicht Controller-Klasse für den zweiten Bildschirm (in meinem Drehbuch und als .swift-Datei). Ich habe dem Custom View Controller im Identity Inspector
- den entsprechenden
ViewController
im Storyboard zugewiesen, einIBAction
für ein Klick-Event auf der Schaltfläche angelegt und das Programm programmgesteuert getriggert . Das Ergebnis bleibt gleich.prepareForSegue
heißt. DiedestionationViewController
ist korrekt aber nicht angezeigt. Ich entfernte diesesIBAction
danach.
Mein Ziel-View-Controller sieht aus wie dieses
class EnterUserDataViewController : UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
print("EnterUserDataViewController viewDidLoad called")
}
}
viewDidLoad
nie, obwohl die richtige segue aufgerufen wird ausgelöst wurde.
Kann mir bitte jemand einen Hinweis geben, warum das passiert?
Passen Ihre Screenshots immer noch zu Ihrem tatsächlichen Code? Sie sagen, dass Sie den Übergang manuell mit einem Aktions-Outlet auslösen, aber Ihre Bildschirme zeigen, dass der Tab-Leiste-Button das Segment direkt auslöst. – tebs1200
Nein, ich dachte, ich hätte etwas falsch machen können. Dann habe ich versucht das Programm programmatisch auszulösen. Also habe ich eine IBAction erstellt und performSegueWithIdentifier aufgerufen. Das hat jedoch nicht geholfen. Also habe ich diese IBAction gelöscht und einen normalen "Drag & Drop" -Segue verwendet. Um Ihre Frage zu beantworten: Ja. – slashburn
Irgendwelche Updates zu diesem Problem? Konnten Sie es lösen? @Slashburn –