A powerful, scrubbable animation library for iOS in Swift that can tween any value.
TweenKit is an animation library for iOS written in Swift that allows developers to animate (or 'tween') any value by conforming to the Tweenable protocol. It solves the problem of creating complex, interactive animations with features like scrubbability, grouping, and sequencing, making it easier to build polished user interfaces and onboarding flows.
iOS developers who need to create custom, interactive animations beyond basic UIView animations, particularly those building onboarding experiences, games, or highly dynamic UIs.
Developers choose TweenKit for its flexibility in animating any type, its scrubbable animations for interactive experiences, and its composable action system that simplifies building complex animation sequences without external dependencies.
Animation library for iOS in 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.
Any type can be animated by conforming to Tweenable, as demonstrated with examples animating strings like 'bat' to 'cat', enabling custom object tweening beyond standard UI properties.
Actions can be manually scrubbed using ActionScrubber, ideal for interactive tutorials or progress-based UIs, shown with slider callbacks to control animation progress.
Animations are built from small, combinable Actions that can be grouped, sequenced, repeated, or reversed, enabling complex sequences like staggered arc animations for activity indicators without boilerplate.
Includes built-in easing curves like exponential and elastic, plus arc and bezier path animations with rotation support, as shown in rocket and circular motion examples.
The library is built around UIKit and Core Animation, with no explicit SwiftUI support, requiring extra work via UIViewRepresentable for modern iOS apps adopting SwiftUI.
Requires manual management of ActionScheduler and explicit animation definitions, which can be more verbose and error-prone than declarative frameworks like SwiftUI animations.
Animations focus on direct property tweening (e.g., frame, center) rather than AutoLayout constraints, making it less suitable for responsive UI designs without additional constraint manipulation.