Ich mag das UISnapBehavior
Snippet, aber ich möchte es wirklich verwenden, um in nur eine Richtung mit einer leichten Oszillation zu gleiten.
Gibt es eine Möglichkeit, die Rotation für dieses Verhalten zu deaktivieren?
As SpriteKit
hat allowsRotation
-Eigenschaft, die einfach ausgeschaltet werden kann.
Sie können dies tun, indem Sie einen UIDynamicItemBehavior
zu Ihrem UIDynamicAnimator
hinzufügen und dann seine Eigenschaft allowsRotation
auf NO
wie folgt setzen:
Hier ist eine bessere Antwort: Ein UISnapBehavior hat eine Aktionseigenschaft, die einen Block benötigt, der bei jedem Schritt aufgerufen wird. Setze diesen Block so ...
%Vor%... bewirkt, dass die Rotation ohne weitere Nebenwirkungen beendet wird.
Ich habe selbst nach der gleichen Lösung gesucht, aber die Einstellung von allowsRotation
auf UIDynamicItemBehavior
hat mir nicht den gewünschten Effekt gebracht.
Ich konnte jede Bewegung von UISnapBehavior
verhindern, indem ich UICollisionBehavior
platzierte und zwei Begrenzungen auf jeder Seite der Ansicht platzierte, die ich nicht verschieben wollte (in meinem Fall habe ich Grenzen auf der linken und rechten Seite konfiguriert der Ansicht, um X-Achsen-Bewegung zu verhindern). Um einen schönen Bounce-Effekt zu erhalten, habe ich auch friction
auf 0 gesetzt (mit UIDynamicItemBehavior
) und die damping
auf UISnapBehavior
angepasst, um die richtige Menge an Bounce zu erhalten.
Hier ist ein Beispiel, was bei mir funktioniert hat:
%Vor%UIView entspricht UIDynamicItem, das über eine transform-Eigenschaft verfügt, die beim Ausführen einer Rotation aufgerufen wird. Also oversetting setTransform: mit nichts ...
%Vor%... stoppt die Rotation, aber wahrscheinlich mit unbekannten und unerwünschten Nebenwirkungen. Brauchen Sie einen Weg, um zu überprüfen, ob die dynamische Animation läuft.
Auf dem Weg zum neuen Ort wird es immer noch einige Bewegungen parallel zur Bewegungsrichtung geben.
Es wäre großartig, wenn wir den Betrag des Rotations- / Hüpfeffekts kontrollieren könnten, da er ziemlich cartoonhaft ist.
Tags und Links animation ios7 uikit uikit-dynamics