Machen Sie die Schaltfläche it UIAlertView führen Segue

8

Ich habe eine UIAlertView für eine Aktion erstellt, die mir 2 Optionen gibt. Ich möchte, dass der Benutzer in der Lage ist, auf eine Schaltfläche zu klicken und eine Segue ausführen zu lassen.

Hier ist der Code, den ich bisher habe:

%Vor%     
Omar 18.07.2013, 17:42
quelle

3 Antworten

9

Ja, es ist zunächst nicht sehr offensichtlich, Sie müssen einen manuellen Übergang erstellen.

Wählen Sie den ViewController, der das Pushing durchführt ( Ich bin derjenige, der schiebt), und verbinde das Handbuch mit dem Pushed View Controller ( Der Pushed View Controller ).

iOS 8+ mit Swift

Wählen Sie das neu erstellte Segment, und geben Sie ihm einen Namen (in meinem Fall ist "segue.push.alert" , langer Name für die Protokollierung), und rufen Sie das Ausführen-Segment in der Aktion der Warnung, wie folgt auf:

%Vor%

[unowned self] sollte mit Vorsicht behandelt werden, wenn der View-Controller die Zuweisung aufheben kann, während die Aktion ausgeführt wird, ist es besser mit [weak self] und dann mit self?.performSegue... , wenn eine Freigabe erfolgen kann.

Alte Antwort

Nun können Sie von einem View-Controller einfach performSegueWithIdentifier:sender: aufrufen, in Ihrem Fall

%Vor%

Der Vorteil, die Übergänge auf diese Weise zu haben (anstatt direkt codiert zu werden), ist, dass Sie immer noch einen schönen Überblick über Ihren Anwendungsfluss haben können, indem Sie kodierte Übergänge und Storyboard-geladene Übergänge miteinander kombinieren. p>     

Can 18.07.2013 18:20
quelle
1

Wenn Sie Ihrem Segment einen Bezeichner in Ihrem Storyboard geben, können Sie Folgendes tun:

%Vor%     
woz 18.07.2013 17:47
quelle
1

Hier ist eine weitere Möglichkeit, einen ViewController zu laden. Sie können den Storyboard-Identifikator verwenden. Lesen Sie hierzu: Was ist eine StoryBoard ID und wie? Kann ich das verwenden?

Legen Sie zuerst die Storyboard-ID im Identity Inspector fest und fügen Sie dann Ihrem Alert-Delegaten den folgenden Code hinzu.

%Vor%

Hoffe, das hilft! :)

    
leok 28.03.2014 01:41
quelle