Ich spiele mit UIKitDynamics und es ist wirklich ordentlich. Derzeit habe ich diesen Code:
%Vor%Es ist ein einfaches Snap-Verhalten, und es funktioniert ganz gut. Aus verschiedenen Gründen möchte ich jedoch wissen, wann das System in einen Ruhezustand übergeht - d. H., Alles hört auf, sich zu bewegen. Mir geht es entweder mit einer Eigenschaft auf dem Animator oder einer Delegate-Methode.
Wie kann ich das tun?
Nach etwas mehr stochern scheint das UIDynamicAnimatorDelegate
tut dies - das - (void)dynamicAnimatorDidPause:(UIDynamicAnimator *)animator
scheint aufgerufen zu werden, wenn sich das System in einem Ruhezustand befindet.
und
%Vor% scheint zu funktionieren - resume
wird protokolliert, wenn die Animation startet, und pause
wird innerhalb einer Sekunde der gestoppten Animation protokolliert.
Darüber hinaus running
Eigenschaft auf dem UIDynamicAnimator selbst scheint die Aufrufe der Delegate-Methoden zu spiegeln - es ist 1
, wenn willResume aufgerufen wird, und es ist 0
, wenn didPause wird aufgerufen.
Der Animator hat eine Eigenschaft "running", die Ihnen sagt, wenn der Animator in Ruhe ist.
Die Ansichten, die mit den Verhaltensweisen eines Animators verknüpft sind, können die Position ändern oder die Transformation nur ändern, wenn der Animator ausgeführt wird. Zur Optimierung kann iOS einen Animator anhalten und anschließend neu starten. Verwenden Sie diese Methode, wenn Sie überprüfen müssen, ob Ihre Ansichten derzeit Änderungen an Position oder Transformation unterliegen.
Tags und Links ios uikit-dynamics