This major release drops Bazel support and support for iOS 9.
This patch release fixes a bug on iOS 14 affecting flickers when using animations that have no delay.
This major release drops official support for iOS 8 and fixes a static analyzer warning.
This major release upgrades the bazel dependencies and workspace. This change is breaking for anyone using bazel to build this library. In order to use this library with bazel, you will also need to upgrade your workspace versions to match the ones now used in this library's WORKSPACE
file.
This patch release resolves some runtime crashes, improves the stability of our unit tests, and features an improved README.md.
Fixed unrecognized selector crashes on iOS 8 devices.
Fixed crashes in Legacy API when providing nil completion blocks.
nil
CAAction when swapping implementation (#109) (Robert Moore)This minor release introduces support for animating more key paths and support for drop-in UIView animation API replacements.
The MotionAnimator can now implicitly animate the following CALayer properties: anchorPoint
, borderWidth
, borderColor
, shadowColor
, and zPosition
.
There are now UIKit equivalency APIs that can be used as drop-in replacements for existing UIView animation code.
Auto-generated by running:
apidiff origin/stable release-candidate objc src/MotionAnimator.h
new constant: MDMKeyPathAnchorPoint
new constant: MDMKeyPathBorderWidth
new constant: MDMKeyPathBorderColor
new constant: MDMKeyPathShadowColor
new constant: MDMKeyPathZ
new class method: +animateWithDuration:delay:options:animations:completion:
in MDMMotionAnimator(UIKitEquivalency)
new class method: +animateWithDuration:animations:completion:
in MDMMotionAnimator(UIKitEquivalency)
new class method: +animateWithDuration:animations:
in MDMMotionAnimator(UIKitEquivalency)
new class method: +animateWithDuration:delay:usingSpringWithDamping:initialSpringVelocity:options:animations:completion:
in MDMMotionAnimator(UIKitEquivalency)
This minor release introduces support for the new v1.5.0 MotionInterchange format.
It is now possible to additively and implicitly animate the transform
property of both UIView and CALayer.
Auto-generated by running:
apidiff origin/stable release-candidate objc src/MotionAnimator.h
new method: -animateWithTraits:animations:completion:
in MDMMotionAnimator
new method: -animateWithTraits:between:layer:keyPath:
in MDMMotionAnimator
new method: -animateWithTraits:animations:
in MDMMotionAnimator
new method: -animateWithTraits:between:layer:keyPath:completion:
in MDMMotionAnimator
new constant: MDMKeyPathTransform
This minor release increases test coverage, fixes a variety of bugs related to beginFromCurrentState
, and generally improves the stability and robustness of the underlying implementation.
The following key paths are now officially supported: MDMKeyPathBounds
, MDMKeyPathShadowOffset
, MDMKeyPathShadowOpacity
, and MDMKeyPathShadowRadius
.
new supported key paths: MDMKeyPathBounds
, MDMKeyPathShadowOffset
, MDMKeyPathShadowOpacity
, and MDMKeyPathShadowRadius
.
This minor release makes CALayer implicit animation support more robust while simplifying the internal animator implementation.
MDMMotionAnimator
's +sharedLayerDelegate
API has been deprecated and is no longer needed to animate headless CALayer instances.
The animator now supports additive animations on CALayer's shadowOffset
property.
deprecated method: +sharedLayerDelegate
This minor release introduces support for implicitly animating CALayers that have been created independently of a UIView. To use this new functionality, consider the following example:
let layer = CALayer() layer.delegate = MotionAnimator.sharedLayerDelegate() animator.animate(with: timing) { layer.opacity = 0.5 }
Added support for adding implicit animations to headless CALayer instances.
new method: +sharedLayerDelegate
This minor release introduces new features for working with gestural interactions.
Added two new methods for removing and stopping running animations.
new method: removeAllAnimations
new method: stopAllAnimations
This patch release fixes a bug where CGPoint and CGSize spring animations would not properly extract initial velocity from their motion timings.
This minor release introduces support for the new initial velocity spring curve value in MotionInterchange v1.3.0. This release also includes additional public and internal documentation.
The minimum MotionInterchange version has been increased to v1.3.0.
MDMMotionAnimator
now supports initial velocity for spring curves.
This patch release fixes issues with downstream bazel builds.
This minor release introduces new implicit animation APIs. These APIs provide a migration path from existing UIView animateWithDuration:...
code.
New APIs for writing implicit animations in UIView style:
animator.animate(with: timing) { view.alpha = 0 }
new method: animateWithTiming:animations:
new method: animateWithTiming:animations:completion:
This patch release includes minor fixes for CocoaPods unit tests.
CocoaPods Swift modules require that header dependencies be imported using <>
notation.
This patch release includes minor fixes for bazel + kokoro continuous integration.
This major release includes several new APIs, bug fixes, and internal cleanup.
The animator now adds non-additive animations with the keyPath as the animation key. This is a behavioral change in that animations will now remove the current animation with the same key.
Implicit animations are no longer created when adding animations within a UIView animation block.
New keypath constants:
New APIs on CATransaction for setting a transaction-specific timeScaleFactor:
CATransaction.begin() CATransaction.mdm_setTimeScaleFactor(0.5) animator.animate... CATransaction.commit()
new method: mdm_timeScaleFactor
.
new method: mdm_setTimeScaleFactor:
.
new constant: MDMKeyPathBackgroundColor
new constant: MDMKeyPathPosition
new constant: MDMKeyPathRotation
new constant: MDMKeyPathStrokeStart
new constant: MDMKeyPathStrokeEnd
new protocol: MDMCoreAnimationTraceable
This patch release resolves an Xcode 9 build warning.
Added support for Xcode 7 builds.
Bug fix release due to compiler warnings.
This minor change resolves some Xcode 9 warnings and introduces the ability to speed up or slow down animations.
MDMKeyPathScale
.timeScaleFactor
property.This is a patch fix release to address build issues within Google's build environment.
Initial release.
Includes MDMMotionAnimator and a small set of pre-defined animatable key paths.