DaisyChain alternatives and similar libraries
Based on the "Animation" category.
Alternatively, view DaisyChain alternatives based on common mentions on social networks and blogs.
-
IBAnimatable
Design and prototype UI, interaction, navigation, transition and animation for App Store ready Apps in Interface Builder with IBAnimatable. -
Keyframes
A library for converting Adobe AE shape based animations to a data format and play it back on Android and iOS devices. -
EasyAnimation
A Swift library to take the power of UIView.animateWithDuration() to a whole new level -
ActivityIndicatorView
A number of preset loading indicators created with SwiftUI -
AHDownloadButton
Customizable download button with progress and transition animations. It is based on Apple's App Store download button. -
SamuraiTransition
Swift based library providing a collection of ViewController transitions featuring a number of neat βcuttingβ animations. -
CCMRadarView
CCMRadarView uses the IBDesignable tools to make an easy customizable radar view with animation -
SYBlinkAnimationKit
A blink effect animation framework for iOS, written in Swift.
Get performance insights in less than 4 minutes
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest. Visit our partner's website for more details.
Do you think we are missing an alternative of DaisyChain or a related project?
README
DaisyChain
DaisyChain is a micro framework which makes UIView animations chaining dead simple. It uses the exact same interface you are familiars with.
Chaining made simple
We all have seen or written code which looks like this:
UIView.animateWithDuration(0.5, animations: {
view.center = CGPointMake(0.0, 0.0)
}) { _ in
UIView.animateWithDuration(0.5, animations: {
view.center = CGPointMake(100.0, 0.0)
}) { _ in
UIView.animateWithDuration(0.5, animations: {
view.center = CGPointMake(100.0, 100.0)
}) { _ in
UIView.animateWithDuration(0.5, animations: {
view.center = CGPointMake(0.0, 100.0)
}) { _ in
UIView.animateWithDuration(0.5, animations: {
view.center = CGPointMake(0.0, 0.0)
})
}
}
}
}
This can go pretty far, it is also know as the callback hell. It's not very flexible and hard to read.
With DaisyChain the above code looks like this:
let chain = DaisyChain()
chain.animateWithDuration(0.5, animations: {
view.center = CGPointMake(0.0, 0.0)
})
chain.animateWithDuration(0.5, animations: {
view.center = CGPointMake(100.0, 0.0)
})
chain.animateWithDuration(0.5, animations: {
view.center = CGPointMake(100.0, 100.0)
})
chain.animateWithDuration(0.5, animations: {
view.center = CGPointMake(0.0, 100.0)
})
chain.animateWithDuration(0.5, animations: {
view.center = CGPointMake(0.0, 0.0)
})
As you can the the code looks more flat, it allows you to easy modify orders or add new steps.
Breakable chains
DaisyChain also adds a simple way to break animation sequences, simply set the broken
property to yes
to break a chain:
chain.broken = true
To continue chaining animation, you'll need to put it back to false
or create a new chain.
Setting up with CocoaPods
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
use_frameworks!
pod 'DaisyChain', '~> 1.0.0'
Setting up with Carthage
github "alikaragoz/DaisyChain" ~> 1.0.0
License
DaisyChain is available under the MIT license.
*Note that all licence references and agreements mentioned in the DaisyChain README section above
are relevant to that project's source code only.