roberthein / Ease
- суббота, 16 декабря 2017 г. в 03:14:16
Animate everything with Ease
Ease is a event driven animation system that combines the observer pattern with custom spring animations as observers.
SceneKit example
UIGestureRecognizer - UIScrollView - Gyroscope examples
Create your Ease object with an initial value
var ease = Ease(initialValue: view.center)
Add your custom spring-animation(s)
ease.addSpring(tension: 300, damping: 15, mass: 1) { position in
view.center = position
}
Set the target value of your Ease object and adjust your target as often as you want
ease.targetValue = gestureRecognizer.location(in: view)
For a single spring-animation you can store the returned EaseDisposable
to a variable
disposable = ease.addSpring(tension...
For multiple spring-animations you can add the disposable to a EaseDisposal
variable
ease.addSpring(tension...) { }.add(to: &disposal)
And always weakify self
when referencing self
inside your spring-animation
ease.addSpring(tension...) { [weak self] position in
Ease is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod 'Ease'
Feel free to create a pull request, open an issue or find me on Twitter.