A lightweight iOS animation library using CADisplayLink to animate any property with Swift.
Cheetah is an animation library for iOS and tvOS built with Swift, enabling developers to animate any property using a CADisplayLink run loop. It solves the problem of creating complex, performant animations with a simple, chainable API that supports parallel and serial execution, easing functions, and spring dynamics.
iOS and tvOS developers using Swift who need a lightweight, flexible library for creating smooth UI animations without heavy dependencies.
Developers choose Cheetah for its ability to animate any property, its intuitive API for grouping and timing animations, and its support for advanced features like springs and easings without the overhead of larger animation frameworks.
Easy animation library on iOS with Swift2
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Cheetah can animate any property, including custom ones via extension, as shown with built-in methods like move, scale, and rotate, allowing for versatile UI effects beyond standard UIView attributes.
The API supports clean, chainable syntax for grouping animations in parallel or serial with wait controls, reducing boilerplate code, as demonstrated in the README examples for complex sequences.
It includes multiple easing equations (e.g., Sine, Bounce) and spring dynamics with configurable tension and friction, enabling smooth, natural animations without relying on external libraries.
Built with Swift and using CADisplayLink, Cheetah is a minimalistic alternative to heavier frameworks, focusing on core animation utilities without unnecessary bloat.
The README specifies compatibility with Swift 3.0, which is several versions behind current Swift releases, potentially causing integration issues or lack of updates for modern Xcode projects.
Only supports iOS and tvOS, excluding macOS and watchOS, making it unsuitable for cross-platform Apple development where unified animation code is needed.
While the README provides basic examples, it lacks in-depth tutorials, API references, or a large community, which can slow down onboarding compared to more established libraries.
Animating custom properties requires extending CheetahProperty, as mentioned in the README, adding complexity and development overhead compared to libraries with built-in support for common use cases.