Mein Ziel ist es, glatte Animationen im ersten View-Controller zu starten und im zweiten View-Controller zu enden.
Ich experimentiere mit der Transitionsanimation mit Objekten, die den Protokollen UIViewControllerAnimatedTransitioning
und UIViewControllerTransitioningDelegate
entsprechen.
Ich habe im Storyboard zwei View-Controller (VC) eingerichtet und verbinde sie mit dem Segment (Standard-Show). Ich habe auch in der ersten VC eine Abwicklungsmethode gemacht und in der zweiten VC eine Taste dafür eingerichtet.
Ich habe ein seltsames Problem. Mein Objekt hat Methoden
%Vor% Ich habe zwei verschiedene Methoden für die Animation vom ersten VC zum zweiten und vom zweiten zum ersten VC.
Wenn ich segue aktiviere, habe ich eine merkwürdige Verzögerung zwischen animationControllerForPresentedController
und animateTransition
Methoden. Manchmal kann es ungefähr 1 Sekunde dauern, und meine gesamte Übergangsanimation muss 1 Sekunde lang sein, plus diese unerwartete Verzögerung ist zu groß.
Hier ist ein Protokoll:
Ich weiß nicht, warum diese Verzögerung auftritt und ob es eine Möglichkeit gibt, sie zu entfernen oder zu reduzieren? Ich habe versucht zu prüfen, ob das mein Code sein könnte, aber ich habe keinen Beweis dafür gefunden. Fühlen Sie sich frei nach mehr Informationen zu fragen.
Ich hatte das gleiche Problem. Wahrscheinlich lösen Sie die Animation nicht über den Hauptthread (presentViewController-Aufruf) aus.
Das hat das Problem für mich gelöst (Objective-C-Code):
%Vor% Ich habe eine Lösung (Workaround) in der Diskussion hier , author - tamas.zahola
Tags und Links iphone ios animation swift uiviewcontroller