UPdate header.
Ease is an event driven animation system that combines the observer pattern with custom spring animations as observers. It’s magic.
targetValue
Easily extendible with more (custom) types.
Create your Ease object with an initial value
var ease: Ease<CGPoint> = Ease(view.center, minimumStep: 0.001)
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
EaseDisposable
disposable = ease.addSpring(tension...
For multiple spring-animations you can add the disposable to a EaseDisposal variable
EaseDisposal
ease.addSpring(tension...) { }.add(to: &disposal)
And always weakify self when referencing self inside your spring-animation
self
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.
©Copyright 2023 CCF 开源发展委员会 Powered by Trustie& IntelliDE 京ICP备13000930号
Ease is an event driven animation system that combines the observer pattern with custom spring animations as observers. It’s magic.
Features
targetValue
Supported value types
Easily extendible with more (custom) types.
Examples
How
Create your Ease object with an initial value
Add your custom spring-animation(s)
Set the target value of your Ease object and adjust your target as often as you want
Memory management
For a single spring-animation you can store the returned
EaseDisposable
to a variableFor multiple spring-animations you can add the disposable to a
EaseDisposal
variableAnd always weakify
self
when referencingself
inside your spring-animationInstallation
Ease is available through CocoaPods. To install it, simply add the following line to your Podfile:
Suggestions or feedback?
Feel free to create a pull request, open an issue or find me on Twitter.