Benutzerdefinierte Übergangsanimation unbekannte Verzögerung zwischen animationControllerForPrensedController und animateTransition

8

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:

%Vor%

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.

    
Dima Deplov 08.02.2015, 17:19
quelle

2 Antworten

4

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%     
Karim Benhmida 18.03.2015 19:12
quelle
1

Ich habe eine Lösung (Workaround) in der Diskussion hier , author - tamas.zahola

gefunden %Vor%     
Sound Blaster 05.04.2016 19:13
quelle