Wenn ich Sie richtig verstehe, wenn der Benutzer das Ride Request Widget ablehnt, wollen Sie sie zu einem anderen Bildschirm bringen, von wo sie es gestartet haben?
I 2 Optionen sehen, dies zu erreichen:
1) In dem View-Controller, wo Sie die Taste haben, entspricht das ModalViewControllerDelegate
Protokoll. Wenn Sie Ihre RideRequestButton
mit der RideRequestViewRequestingBehavior
erstellen, legen Sie Ihren View-Controller als Delegat von rideRequestViewRequestingBehaviorObject.modalRideRequestViewController
fest. Wenn der Benutzer also das Ride Request-Widget ablehnt, wird die Delegate-Methode modalViewControllerDidDismiss
aufgerufen, und Sie können Ihren benutzerdefinierten Übergang an diesem Punkt vornehmen.
2) Sie können Ihren eigenen benutzerdefinierten Ansichtscontroller erstellen, der eine RideRequestView
enthält, in der Sie Ihre Steuerelemente bereitstellen können, damit der Benutzer den Ansichtscontroller verwerfen kann. Auf diese Weise haben Sie die Kontrolle darüber, wohin Sie als nächstes gehen. Sie könnten immer noch die RideRequestButton
verwenden, Sie müssen nur eine benutzerdefinierte Klasse erstellen, die dem RideRequesting
-Protokoll entspricht, und Sie können damit die RideRequestButton
initialisieren. Wenn Sie diesem Ansatz folgen, müssen Sie die Anmeldung separat behandeln, da die RideRequestView
das nicht für Sie behandelt (es wird von der RideRequestViewController
behandelt)
Hallo, vielen Dank für die Antwort! Ich habe ein kleines Problem mit der ersten Methode. Mein View-Controller stimmt mit dem ModalViewControllerDelegate überein, setzt meine rideRequestViewRequestingBehaviorObject.modalRideRequestViewController und fügt die modalViewControllerDidDismiss-Funktion ein, aber wenn ich die App ausführe, wird modalViewControllerDidDismiss nie aufgerufen. Hast du eine Idee, warum das so ist? –
Es ist schwer zu debuggen, ohne Ihren Code zu sehen. Sind Sie sicher, dass Sie den Delegierten festlegen? –