MotionMachine

MotionMachine provides a modular, powerful, and generic platform for manipulating values, whether that be animating UI elements or interpolating property values in your own classes. It offers sensible default functionality that abstracts most of the hard work away, allowing you to focus on your work. While it is type-agnostic, MotionMachine does support most major UIKit types out of the box and provides syntactic sugar to easily manipulate them. But it’s also easy to dive in and modify for your own needs, whether that be custom motion classes, supporting custom value types, or new easing equations.

  • Animation engine built from the ground up (not tied to Core Animation).
  • Animate system properties, UIViews, or any generic classes using many easing equations.
  • Provides static and physics-based motion classes, and both support additive animation.
  • Provides static and physics-based motion classes that can animate a CGPoint along a CGPath, even part of a path.
  • All motion classes can be grouped, sequenced, and nested in any arrangement and have reversing and repeating actions applied at any level.
  • Powerfully modular – most aspects can be customized or outright replaced to fit your specific needs.
  • Provides status callback closures for many types of motion events.
  • Fully tested
  • Fully documented
Check out MotionMachine on GitHub for more detailed explanations and examples!

Created by Brett Walker.
© 2024 Poet & Mountain, LLC. All rights reserved. Licensed under the MIT License.