dismissModalViewController mit übergang: von Links nach rechts
War ich mit einer netten Methode zu entlassen meine modal-view-controller:
[self dismissModalViewControllerWithTransition:2];
wodurch eine Folie übergang von Links nach rechts, wie ein navigation-controller macht, pop einen Blick.
Da diese Methode einen nicht-öffentlichen-Methode, werden von apple nicht akzeptieren. Wie kann ich ein Programm dieser Art von animation, die in meinem code (Folie von Links nach rechts, zu entlassen, modal-Ansicht, und schieben Sie von rechts nach Links zu präsentieren, die eine modal view) ?
Vielen Dank im Voraus
Du musst angemeldet sein, um einen Kommentar abzugeben.
Habe ich akzeptiert die Antwort von Safecase, aber das möchte ich veröffentlichen meine Letzte Lösung hier:
1) eine modal-view-controller mit einem von rechts nach Links übergang habe ich folgende Methode geschrieben:
2) Zu entlassen, eine modale Ansicht mit einer Folie übergang von Links nach rechts:
Danke Jungs!
Versuchen Sie dies:
Ich davon ausgehen, Sie sind entlassen eines view-controller 2 aus dem view-controller-1. In view-controller 2 sind Sie mit diesem
Nun In der ersten view-controller, in der viewWillAppear: Methode fügen Sie den code
Diesem Swift 4
ModalService
Klasse unten ist eine pre-packaged flexible Lösung, die gelöscht werden können, in ein Projekt und forderte von überall es erforderlich ist. Diese Klasse bringt die modal view in an der Spitze der aktuellen Ansicht aus der angegebenen Richtung, und dann bewegt es sich zu offenbaren, die ursprüngliche Ansicht dahinter, wenn er sich beendet. Gegeben einepresentingViewController
ist, der derzeit angezeigt wird, und einemodalViewController
, die Sie erstellt haben und anzeigen möchten, rufen Sie einfach:Dann zu entlassen, Aufruf:
Diese können natürlich genannt werden, aus der modalViewController sich als
ModalService.dismiss(self)
. Beachten Sie, dass die Entlassung nicht genannt zu werden, von der presentingViewController, und erfordert keine Kenntnisse oder eine Referenz auf das original presentingViewController.Bietet die Klasse sinnvolle Standardwerte, einschließlich der Umstellung der modal-Ansicht von der rechten und auf der linken Seite. Dieser übergang Richtung angepasst werden kann, indem eine Richtung, die angepasst werden kann für beide ein-und Ausfahrt:
und
Dieser kann festgelegt werden als
.left
,.right
,.top
und.bottom
. Sie können ebenfalls übergeben eine benutzerdefinierte Dauer, in Sekunden, wenn Sie es wünschen:und
Kopf kräftig an @jcdmb für die Zielsetzung C die Antwort auf diese Frage bildete den Kern der Lösung in dieser Klasse.
Hier ist die vollständige Klasse. Die Werte, die von den privaten
transitionSubtype
seltsam Aussehen, sind aber auf diese Weise gesetzt bewusst. Sollten Sie einen test des beobachteten Verhaltens vor der übernahme dieser Notwendigkeit zu "korrigieren". 🙂