Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. iOS
  3. LSAnimator

LSAnimator

MITObjective-C

A multi-chain animation library for iOS that simplifies creating complex, readable animations in Objective-C and Swift.

GitHubGitHub
1.7k stars155 forks0 contributors

What is LSAnimator?

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.

Target Audience

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.

Value Proposition

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.

Overview

⛓ Easy to Read and Write Multi-chain Animations Lib in Objective-C and Swift.

Use Cases

Best For

  • Creating complex, multi-step view animations with concurrent sequences
  • Reducing boilerplate code in iOS animation logic
  • Animating CALayer properties directly with a chainable API
  • Improving animation code readability and maintainability
  • Adding spring, bounce, or custom easing effects to animations
  • Building animations that integrate with Auto Layout using transform properties

Not Ideal For

  • Projects built with SwiftUI requiring native declarative animation APIs
  • Cross-platform applications using frameworks like React Native or Flutter
  • Apps with very simple, one-off animations that don't justify adding a third-party dependency
  • Teams needing real-time animation synchronization with server data or physics engines

Pros & Cons

Pros

Concurrent Animation Chains

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.

Direct CALayer Animation

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.

Enhanced IDE Support

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.

Native Swift API

Includes a separate CoreAnimator framework with a Swift-friendly syntax for Swift 3.2+ projects, making integration smoother and more idiomatic for Swift developers.

Flexible Animation Hooks

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.

Cons

Auto Layout Limitation

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.

Concurrent Animation Pitfalls

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.

iOS Version Restriction for Swift

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.

Open Source Alternative To

LSAnimator is an open-source alternative to the following products:

J
JHChainableAnimations

JHChainableAnimations is an iOS animation library that makes it easy to create chainable animations in a readable way using Objective-C or Swift.

Frequently Asked Questions

Quick Stats

Stars1,685
Forks155
Contributors0
Open Issues7
Last commit5 years ago
CreatedSince 2017

Tags

#calayer#chain#ui-animation#animation#objective-c#dsl#multi-chain#core-animation#ios-animation#animator#cocoapods#swift#uiview#carthage

Built With

O
Objective-C
S
Swift

Included in

iOS51.7k
Auto-fetched 10 hours ago

Related Projects

LottieLottie

An iOS library to natively render After Effects vector animations

Stars26,865
Forks3,833
Last commit5 days ago
ViewAnimatorViewAnimator

ViewAnimator brings your UI to life with just one line

Stars7,310
Forks484
Last commit2 years ago
AnimatedCollectionViewLayoutAnimatedCollectionViewLayout

A UICollectionViewLayout subclass that adds custom transitions/animations to the UICollectionView without effecting your existing code.

Stars4,851
Forks346
Last commit6 years ago
AdvanceAdvance

Physics-based animations for iOS, tvOS, and macOS.

Stars4,463
Forks202
Last commit4 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub