Ich verwende normales Storyboarding und Push-Segmente in xcode, aber ich möchte Segmente haben, die nur in der nächsten Ansicht angezeigt werden, nicht in der nächsten Ansicht (wie wenn Sie eine Registerkartenleiste verwenden und die nächste Ansicht nur angezeigt wird).
Gibt es eine schöne einfache Möglichkeit, normale Push-Segmente nur "erscheinen" und nicht "schieben" zu lassen, ohne benutzerdefinierte Segmente hinzufügen zu müssen?
Alles funktioniert einwandfrei, ich möchte nur diese Folienanimation zwischen den Ansichten entfernen.
Antworten:
Ich konnte dies tun, indem ich einen benutzerdefinierten Übergang erstellte (basierend auf diesem Link ).
PushNoAnimationSegue
(oder wie auch immer Sie sie nennen möchten).Swift 4
Ziel c
PushNoAnimationSegue.h
PushNoAnimationSegue.m
quelle
Sie können "Animiert" in Interface Builder für iOS 9 deaktivieren
quelle
Identifier
Namen.Ians Antwort funktioniert großartig!
Hier ist eine Swift-Version des Segue, falls jemand dies benötigt:
AKTUALISIERT FÜR SWIFT 5, MAI 2020
PushNoAnimationSegue.swift
quelle
Ich habe es jetzt geschafft, dies mit dem folgenden Code zu tun:
Hoffe das hilft jemand anderem!
quelle
Hier ist die Swift-Version, die angepasst wurde, um einen ViewController ohne Animation modal darzustellen:
quelle
antworte mit Swift3 -
für "Push" -Segue:
für "modale" Segue:
quelle
Für alle, die Xamarin iOS verwenden, muss Ihre benutzerdefinierte Segue-Klasse folgendermaßen aussehen:
Vergessen Sie nicht, dass Sie in Ihrem Storyboard noch einen benutzerdefinierten Abschnitt festlegen und die Klasse auf die PushNoAnimationSegue-Klasse setzen müssen.
quelle
Für mich ist der einfachste Weg:
Verfügbar ab iOS 7.0
quelle
Ich verwende Visual Studio mit Xamarin und der Designer gibt in der Antwort von dtochetto kein Häkchen "Animiert" an.
Beachten Sie, dass der XCode-Designer das folgende Attribut auf das segue-Element in der .storyboard-Datei anwendet: animates = "NO"
Ich habe die .storyboard-Datei manuell bearbeitet und animates = "NO" zu den Segue-Elementen hinzugefügt, und es hat bei mir funktioniert.
Beispiel:
quelle
DRÜCKEN OHNE ANIMATION: Schnell Hier ist, was für mich funktioniert hat.
Verwendung : Stellen Sie die Segue-Klasse wie im Bild gezeigt aus dem Storyboard ein. Setzen Sie isAnimationRequired von Ihrem Viewcontroller auf false, von wo aus Sie performSegue aufrufen möchten, wenn Sie segue ohne Animation drücken und nach dem Aufrufen von self.performSegue auf true zurücksetzen möchten. Viel Glück....
quelle
Gerade gesetzt
animated
falsch aufUINavigationController.pushViewController
in Swiftquelle