Ease alternatives and similar libraries
Based on the "Animation" category.
Alternatively, view Ease alternatives based on common mentions on social networks and blogs.
-
lottie-ios
An iOS library to natively render After Effects vector animations -
IBAnimatable
Design and prototype customized UI, interaction, navigation, transition and animation for App Store ready Apps in Interface Builder with IBAnimatable. -
SkeletonView
☠️ An elegant way to show users that something is happening and also prepare them to which contents they are awaiting -
AnimatedCollectionViewLayout
A UICollectionViewLayout subclass that adds custom transitions/animations to the UICollectionView without effecting your existing code. -
EasyAnimation
A Swift library to take the power of UIView.animateWithDuration(_:, animations:...) to a whole new level - layers, springs, chain-able animations and mixing view and layer animations together! -
Gemini
Gemini is rich scroll based animation framework for iOS, written in Swift. -
Presentation
:bookmark_tabs: Presentation helps you to make tutorials, release notes and animated pages. -
Fluid Slider
:octocat:💧 A slider widget with a popup bubble displaying the precise value selected. Swift UI library made by @Ramotion -
DKChainableAnimationKit
Easy to read and write chainable animations in Swift. -
Sica
:deer: Simple Interface Core Animation. Run type-safe animation sequencially or parallelly -
ChainPageCollectionView
A custom View with fancy collectionView animation -
ZoomTransitioning
ZoomTransitioning provides a custom transition with image zooming animation and swiping the screen edge. -
navigation-toolbar
:octocat: Navigation toolbar is a slide-modeled UI navigation controller made by @Ramotion -
FlightAnimator
Advanced Natural Motion Animations, Simple Blocks Based Syntax -
CAROUSEL
List a collection of items in a horizontally scrolling view. A scaling factor controls the size of the items relative to the center. -
Garland View
:octocat: ≡ GarlandView seamlessly transitions between multiple lists of content. Swift UI library made by @Ramotion -
DSGradientProgressView
A simple animated progress bar in Swift -
SPPerspective
Widgets iOS 14 animation with 3D and dynamic shadow. Customisable transform and duration. -
TheAnimation
Type-safe CAAnimation wrapper. It makes preventing to set wrong type values. -
Walker
Each step you take reveals a new horizon. You have taken the first step today. -
Poi
Poi makes you use card UI like tinder UI .You can use it like tableview method. -
DottedProgressBar
Simple and powerful animated progress bar with dots -
Numbers Animation
Numbers animation allows you to click on different numbers and accordingly it will animate numbers in a cool way. It has a very attractive UI and is very easy to use.
Appwrite - The open-source backend cloud platform
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of Ease or a related project?
README
Ease is an event driven animation system that combines the observer pattern with custom spring animations as observers. It's magic.
Features
- [X] Animate any value type
- [X] Set multiple animations for a single value
- [X] Animation trajectories update when you update the
targetValue
- [X] Add natural spring behavior to any value change
- [X] Optimized for Swift 5
- [X] Compatible with iOS 9 and up
Supported value types
- CGFloat
- CGPoint
- CGSize
- CGVector
- Int
- Float
- Double
- SCNVector3
Easily extendible with more (custom) types.
Examples
- SceneKit Example👆
- UIKit Examples
How
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)
Memory management
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
Installation
Ease is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod 'Ease'
Suggestions or feedback?
Feel free to create a pull request, open an issue or find me on Twitter.