Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

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

TermsPrivacyAboutGitHubRSS
  1. Home
  2. iOS
  3. JHChainableAnimations

JHChainableAnimations

MITObjective-C

A library for creating easy-to-read and write chainable animations in Objective-C and Swift for iOS/tvOS.

GitHubGitHub
3.2k stars303 forks0 contributors

What is JHChainableAnimations?

JHChainableAnimations is an iOS/tvOS animation library that provides a chainable API for creating complex, multi-step animations with a clean, readable syntax. It solves the problem of verbose and nested animation code in Objective-C and Swift by allowing developers to combine movements, transforms, and effects into a single fluent chain.

Target Audience

iOS and tvOS developers who need to create sophisticated, sequenced animations in their apps and want a more maintainable alternative to Core Animation or UIView animation blocks.

Value Proposition

Developers choose JHChainableAnimations for its intuitive chainable syntax that drastically reduces code complexity, its support for advanced features like easing effects and bezier paths, and its seamless compatibility with both Objective-C and Swift projects.

Overview

Easy to read and write chainable animations in Objective-C and Swift

Use Cases

Best For

  • Creating complex, multi-step animations with a clean syntax
  • Adding spring, bounce, or custom easing effects to UIView animations
  • Animating views along bezier paths in iOS apps
  • Building animations that require pausing, resuming, or repeating
  • Improving readability of animation code in Objective-C or Swift projects
  • Animating Auto Layout-constrained views with transform properties

Not Ideal For

  • Projects requiring spring or bounce effects on bezier path animations
  • Apps where Auto Layout constraints need mixed transform and non-transform animations in a single chain
  • Teams developing for macOS or cross-platform beyond iOS/tvOS
  • Developers seeking a single, unified framework for both Objective-C and Swift without separate setups

Pros & Cons

Pros

Clean Chainable Syntax

Transforms verbose, nested animation blocks into a single, readable line of code, as shown in the README comparison reducing multiple UIView animations to one chain.

Dual Language Support

Provides native frameworks for both Objective-C and Swift, with a separate Swift framework offering a more idiomatic syntax for smoother integration.

Advanced Animation Control

Includes pause/resume functionality, repeat animations with counts, and pre/post-animation hooks, allowing fine-grained timing and execution management.

Auto Layout Transform Properties

Offers specific chainable properties like transformX and transformScale that are designed to work correctly with Auto Layout-constrained views, as noted in the usage section.

Cons

Bezier Path Effect Limitations

The README explicitly states that animation effects such as spring or easeIn do not work on bezier path movements, restricting stylistic options for path-based animations.

Auto Layout Usage Restrictions

Developers must use separate transform properties and avoid mixing them with other chainable animations for Auto Layout views, which can lead to confusion and potential bugs.

Separate Framework Management

Requires handling two distinct frameworks (JHChainableAnimations for Objective-C and ChainableAnimations for Swift), adding overhead to dependency setup and maintenance.

Frequently Asked Questions

Quick Stats

Stars3,206
Forks303
Contributors0
Open Issues8
Last commit8 years ago
CreatedSince 2015

Tags

#ui-animations#objective-c#core-animation#tvos#mobile-development#swift#chainable-api#uikit

Built With

O
Objective-C
S
Swift

Included in

iOS51.7k
Auto-fetched 1 day ago

Related Projects

LottieLottie

An iOS library to natively render After Effects vector animations

Stars26,766
Forks3,834
Last commit29 days ago
ViewAnimatorViewAnimator

ViewAnimator brings your UI to life with just one line

Stars7,326
Forks487
Last commit2 years ago
AnimatedCollectionViewLayoutAnimatedCollectionViewLayout

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

Stars4,861
Forks347
Last commit5 years ago
AdvanceAdvance

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

Stars4,473
Forks204
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