Abwickeln von Segeln in Xcode 6 Beta 4

8

Ich habe versucht, einer schnellen App in Xcode 6 ein Abwicklungssegment hinzuzufügen, und in den Versionshinweisen für die ersten drei Betas wurde erklärt, dass es nicht unterstützt wird. In der Beta 4 ist diese Bugnotiz jedoch nicht mehr vorhanden. Ich habe gehört, dass die Leute es zur Arbeit bringen konnten, aber ich hatte kein Glück. Meine Frage ist also: Wie sollte ich versuchen zu sehen, ob das Abwicklungs-Segment in meiner App funktioniert? Was soll ich versuchen? Ich verwende ein UIBarButtonItem, um das Segment auszulösen.

Bisher habe ich diesen Code in die .swift-Datei des Zielcontrollers geschrieben:

%Vor%

Mit diesem Code konnte ich die Balkenschaltfläche mit der Funktion verbinden, indem ich von der Balkenschaltfläche zum Beenden-Symbol wechsle und dann auf die Methode "unwindToSegue" klicke. Dieser Teil hat funktioniert, aber der Code läuft nicht, auch wenn ich einen Breakpoint in die Funktion stecke, die er nicht aufgerufen hat.

    
trumpeter201 25.07.2014, 17:05
quelle

4 Antworten

21

Sie müssen Ihre Funktion unwindToSegue in den ursprünglichen ViewController (dh den ViewController, zu dem Sie zurückkehren möchten) versetzen.

Eine andere Sache, die Sie versuchen können, ist, das Segment programmatisch aufzurufen. Verkabeln Sie zunächst einen Exit-Übergang vom Symbol des Ansichtscontrollers zum Exit-Symbol (die drei Symbole befinden sich oben im View-Controller in Interface Builder). Geben Sie diesem Segment einen Namen wie "goBackHome". Dann verdrahte deine Taste, um dieses @IBAction :

aufzurufen %Vor%     
vacawama 26.07.2014, 11:23
quelle
1

Mein Problem war, dass ich von einem benutzerdefinierten VC-Container zu einem Standard-View-Controller (VC) wechselte, aber versuchte, die ursprüngliche Navigationsleiste wieder zu entfernen. Forschungsforen ergaben, dass das Abwickeln der Übergänge die neuen VC- "Protokolle" vom Stack & amp; erlaube mir, zu den ursprünglichen VC "Protokollen" unverändert zurückzukehren.

Ich habe eine Schaltfläche in die neue VC gezogen, zuerst in die swift-Datei gezogen, um die Aktion "back2main" zu erstellen, wie unten beschrieben, DANN die Schaltfläche zum Exit-Icon am oberen Rand der neuen VC gezogen, was das "Abwicklungs-Segment" erzeugt.

%Vor%     
Rob 26.12.2014 23:23
quelle
0

Mit XCode 6 Beta 4 funktioniert es. Entfernen Sie die @objc (Klassenname) aus der Klassendefinition und löschen Sie die (Workaround) .h-Datei.

Ich hatte gestern einen ähnlichen Effekt, einer meiner Buttons in meinem Viewcontroller hat das Abwicklungssegment nicht ausgelöst.

Versuchen Sie Folgendes: Legen Sie eine neue UIButton auf Ihrem View-Controller ab und lassen Sie sie unverändert. Ändern Sie nichts, nur um sicherzustellen, dass keine Nebenwirkungen auftreten. Dann verbinde diese Schaltfläche mit deinem Abwicklungssegment und versuche, ob es funktioniert.

    
zisoft 26.07.2014 06:21
quelle
0

Ich hatte das gleiche Problem. Die Abwicklungsfunktion wurde angezeigt, als ich die Exit-Taste anwählte und es verband und alles, aber beim Tapen der Taste passierte nichts.

Nach einigem Herumalbern stellte ich fest, dass es wegen der Segue war, die ich ausgewählt hatte, um von einem Ansicht-Kontroller zum anderen zu gelangen.

Das Problem bestand darin, dass die Ansicht, zu der ich zurückkehren wollte, mehr als ein paar verschiedene Navigationskomponenten hatte, die beim Anzeigen der "untergeordneten" Ansicht entfernt wurden. Ich habe es gelöst, indem ich es von Show (oder show detail) zu Popover geändert habe.

Gehen Sie zum Übergang, wählen Sie den Attribut-Inspektor und von dort können Sie den Übergang ändern.

    
Ant 22.08.2014 16:41
quelle

Tags und Links