A Swift library that extends UIKit's animation APIs to easily animate layers, create spring animations, and chain animations together.
EasyAnimation is a Swift library that extends UIKit's animation capabilities, allowing iOS developers to animate CALayer properties, create spring animations, and chain multiple animations together using familiar UIView animation syntax. It solves the problem of verbose and complex Core Animation code by providing a simpler, more intuitive API for advanced animations.
iOS developers who need to create complex animations in their apps but want to avoid the steep learning curve and boilerplate code of Core Animation.
Developers choose EasyAnimation because it integrates seamlessly with existing UIKit code, reduces animation complexity, and enables advanced features like layer spring animations and chaining without requiring a completely new animation framework.
A Swift library to take the power of UIView.animateWithDuration(_:, animations:...) to a whole new level - layers, springs, chain-able animations and mixing view and layer animations together!
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Extends the standard UIView animation APIs with a one-time enable call, allowing developers to use familiar syntax for advanced animations without learning a new framework.
Enables animating CALayer properties like cornerRadius or position directly within UIView animation blocks, eliminating the need for verbose CABasicAnimation code as shown in the README examples.
Provides spring-based animations for layers with automatic fallback to RBBSpringAnimation for iOS 8 compatibility, using a UIKit-like API for consistency.
Allows chaining multiple animations sequentially with simple method calls, making complex sequences straightforward to implement and cancel, as demonstrated with the `animateAndChain` method.
Version 2.0 introduced a breaking change where developers must explicitly call `EasyAnimation.enable()`, which can be overlooked and cause animations to fail silently.
Animation chains are scheduled once and cannot be modified dynamically, limiting flexibility for interactive or adaptive UI sequences, as noted in the README.
The library's 'To Do' list includes missing features like autoreverse for chains and keyframe path animations, which might be essential for some advanced animation needs.