Popularity
1.2
Stable
Activity
0.0
Stable
29
2
6

Code Quality Rank: L5
Programming language: Swift
Tags: Animation    
Latest version: v1.0.0

DaisyChain alternatives and similar libraries

Based on the "Animation" category.
Alternatively, view DaisyChain alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of DaisyChain or a related project?

Add another 'Animation' Library

README

Build Status Version Carthage compatible

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.