A multi-chain animation library for iOS that simplifies creating complex, readable animations in Objective-C and Swift.
LSAnimator is an open-source iOS animation library that provides a chainable, readable syntax for creating complex multi-step animations. It solves the problem of verbose and hard-to-maintain animation code in Objective-C and Swift by allowing developers to express animations in a few clear lines, supporting concurrent animation chains, CALayer animations, and full autocompletion.
iOS developers working with Objective-C or Swift who need to create sophisticated, maintainable animations in their apps, particularly those frustrated with the boilerplate of Core Animation or UIView animation APIs.
Developers choose LSAnimator for its superior multi-chain animation capability, which allows independent animation sequences to run in parallel—a feature missing in popular alternatives like JHChainableAnimations—combined with excellent tooling support and a clean, expressive syntax.
⛓ Easy to Read and Write Multi-chain Animations Lib in Objective-C and Swift.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports multi-chain animations allowing independent sequences to run in parallel, enabling more flexible design than single-chain alternatives like JHChainableAnimations, as demonstrated in the README's comparison gifs.
Can initialize animators with CALayer objects, providing lower-level control unlike some libraries limited to UIView, which is highlighted as a key feature in the README.
Offers full Xcode autocompletion for animation methods, including parameter counts and types, improving developer experience and reducing coding errors, as shown in the GIF examples.
Includes a separate CoreAnimator framework with a Swift-friendly syntax for Swift 3.2+ projects, making integration smoother and more idiomatic for Swift developers.
Allows attaching pre-animation and post-animation blocks to any step, plus a final completion hook for the entire chain, adding granular control over animation timing and side effects.
Lacks built-in support for animating Auto Layout constraints directly; it only offers transform properties for constrained views, as admitted in the 'To Do' section for a constraint animator.
The README explicitly warns against running concurrent animations that modify the same property, which can lead to undefined behavior or bugs, requiring careful management to avoid conflicts.
CoreAnimator (Swift version) requires iOS 9.0+, whereas LSAnimator (Objective-C) supports iOS 7.0+, limiting adoption in projects targeting older iOS versions with Swift.
LSAnimator is an open-source alternative to the following products: