Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

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

TermsPrivacyAboutGitHubRSS
  1. Home
  2. iOS
  3. TweenKit

TweenKit

MITSwift1.0.3

A powerful, scrubbable animation library for iOS in Swift that can tween any value.

GitHubGitHub
1.4k stars79 forks0 contributors

What is TweenKit?

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.

Target Audience

iOS developers who need to create custom, interactive animations beyond basic UIView animations, particularly those building onboarding experiences, games, or highly dynamic UIs.

Value Proposition

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.

Overview

Animation library for iOS in Swift

Use Cases

Best For

  • Creating interactive onboarding tutorials with scrubbable animations
  • Building custom activity indicators with arc-based motion
  • Animating UI elements along Bézier paths with rotation
  • Developing complex animation sequences with grouping and repeating
  • Tweening non-standard types like strings or custom objects
  • Implementing yoyo or reversible animations for playful interactions

Not Ideal For

  • Projects exclusively using SwiftUI and preferring native declarative animations
  • Apps needing only simple, one-off UIView animations with AutoLayout
  • Real-time games requiring physics-based or frame-by-frame animation control
  • Teams prioritizing minimal dependencies and avoiding third-party libraries

Pros & Cons

Pros

Protocol-Based Extensibility

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.

Scrubbable for Interactivity

Actions can be manually scrubbed using ActionScrubber, ideal for interactive tutorials or progress-based UIs, shown with slider callbacks to control animation progress.

Composable Action System

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.

Rich Easing and Paths

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.

Cons

UIKit-Centric Design

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.

Imperative API Overhead

Requires manual management of ActionScheduler and explicit animation definitions, which can be more verbose and error-prone than declarative frameworks like SwiftUI animations.

Limited AutoLayout Integration

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.

Frequently Asked Questions

Quick Stats

Stars1,355
Forks79
Contributors0
Open Issues0
Last commit6 years ago
CreatedSince 2017

Tags

#ios#ui-animation#animation#interactive-animation#tween#tweening#bezier#mobile-development#swift#uiview#onboarding

Built With

i
iOS
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,894
Forks3,839
Last commit8 days ago
ViewAnimatorViewAnimator

ViewAnimator brings your UI to life with just one line

Stars7,311
Forks483
Last commit2 years ago
AnimatedCollectionViewLayoutAnimatedCollectionViewLayout

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

Stars4,853
Forks346
Last commit6 years ago
AdvanceAdvance

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

Stars4,458
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