Language: Obj-C
License: MIT

PMTween is an elegant and flexible tweening library for Objective-C, currently supporting the iOS and tvOS platforms.

It offers sensible default functionality that abstracts most of the hard work away, allowing you to focus on your animations and other tween tasks. But PMTween also makes it easy to dive in and modify for your own needs, whether that be custom tweening classes, supporting custom object types, or new easing equations.

If you're coding in Swift, try MotionMachine, which is based on PMTween, but with many improvements and an API tailored to that langauge.



  • PMTween makes both simple and complex tweening tasks easy to create.
  • Tweens can be grouped, sequenced, and nested in most any configuration you might need.
  • Includes both static and physics-based tween classes.
  • PMTween was built to easily support custom value types, easing equations, and functionality.
  • Provides notifications and blocks for many kinds of status events.

All of the base tweening classes in PMTween adopt the PMTweening protocol, and you can add any of these classes to a PMTweenGroup or PMTweenSequence instance. They can be nested as many levels deep as you'd like, and PMTweenGroup and PMTweenSequence respect the tweening properties of their children. If you want to use your own custom tween classes, simply adopt the protocol. However, PMTweenUnit offers such modularity that in most cases you can just replace the parts you need with your own implementation.