2016-07-10 8 views
0

Ich stieß auf ein Problem, bei dem ich das folgende Setup hatte, jedoch kein Abwicklungssegment zum Funktionieren brachte.Es konnte kein Abwicklungssegment erstellt werden, wenn mehrere Storyboards in einem Projekt verwendet wurden.

Die Storyboards wurden vor einigen Monaten erstellt und wurden von einem ursprünglichen Haupt-Storyboard umstrukturiert, um sie in einzelne zu zerlegen, wobei jedes Storyboard einen einzigen View-Controller hatte.

Die Storyboards:

  • Destination.storyboard (Sollte enthalten

    • MainMenu.storyboard (Enthält die Navigation-Controller)
    • SubMenu.storyboard (sendet Enthält die Segue, die den Benutzer zum Zielstoryboard) entspannen segue)

    im Submenü Viewcontroller, habe ich folgende Abwickelstation segue:

    @IBAction func unwindToSubMenu(segue: UIStoryboardSegue) {} 
    

    Ich platziere dann eine Balkenschaltfläche auf dem Navigationselement für die Zielansicht Controller. Wenn Sie versuchen, den Balkenschaltflächenelement mit dem Beenden-Symbol in der Destination.storyboard-Datei zu verknüpfen, wird das unwindToSubMenu-Segment nicht angezeigt.

    Durch Klicken mit der rechten Maustaste auf das Exit-Symbol wird ein leeres Feld angezeigt.

    Ich habe versucht, den Destination.storyboard-Inhalt zurück in die SubMenu.storyboard zu verschieben, um zu sehen, ob es etwas mit den Verweis-Links zu tun hatte, aber das war nicht erfolgreich.

  • Antwort

    0

    Aktualisiert mit einer besseren Antwort.

    Ich habe dieses Problem erneut unter Verwendung der neuesten Version von XCode (8.2.1), wo ein ordnungsgemäß konfiguriertes Segment nicht erschien.

    Um sicherzustellen, dass ich nicht wahnsinnig war, erstellte ich zunächst ein kleines Beispielprojekt, in dem ich nur den relevanten Code hob und bestätigen konnte, dass er richtig eingerichtet war.

    Mit dieser aus dem Weg, fand ich eine bessere Lösung für dieses Problem durch Erstellen eines Abfalls Storyboard & zugeordneten View-Controller.

    View-Controller enthielt nur diesen Code:

    class GarbageViewController: UIViewController { 
        @IBAction func unwind(_ segue: UIStoryboardSegue) { } 
    } 
    

    Diese dann als die View-Controller für den Müll Storyboard gesetzt wurde.

    Ich klickte dann auf den Ausgang in der Müll Storyboard-Datei, um zu bestätigen, dass die oben definierte Abwicklungsmethode erschien. Sobald es auftauchte, wurde plötzlich auch das Abwicklungssegment, das ich wollte, verfügbar.

    Verwandte Themen