mirror of
https://github.com/material-components/material-components-ios.git
synced 2026-02-20 08:27:32 +08:00
Kokoro's Bazel version has been increased from 0.11.0 to 0.20.0 As part of this change, the `.kokoro` bazel header rewrite phase's rewrites for MDF libraries has been made less generic because MDFInternationalization can now be imported using framework-style imports as expected. MDFTextAccessibility does not yet have this functionality, so we still need to rewrite it. Version changes in the bazel workspace: - bazelbuild/rules_apple has been increased from 0.3.0 to 0.9.0 - bazel_skylib has been increased from 0.2.0 to 0.6.0 - bazelbuild/rules_swift has been added at 0.4.0 - xctestrunner has been increased from 0.2.1 to 0.2.5 - material_internationalization_ios has been increased from v1.0.4 to v2.0.1 - material_text_accessibility_ios has been increased from fd570d71ae0124c75ad5af00e6b8b4b1668d5e40 to v2.0.0 - motion_interchange_objc has been increased from v1.6.0 to v2.0.0 - motion_animator_objc has been increased from v2.5.0 to v3.0.0 - motion_transitioning_objc has been increased from v5.0.0 to v6.0.0 - Swift version has been pinned to 3 for all swift libraries. buildifier was ran on all affected build targets. This unblocks https://github.com/material-components/material-components-ios/pull/5550.
Animation timing
Like color and typography, motion can play a role in defining your app's style and brand. The animation timing component provides implementations of the Material Motion easing curve types for iOS.
Design & API Documentation
Installation
Installation with CocoaPods
To add this component to your Xcode project using CocoaPods, add the following to your Podfile:
pod 'MaterialComponents/AnimationTiming'
Then, run the following command:
pod install
Usage
Importing
Before using animation timing, you'll need to import it:
Swift
import MaterialComponents
Objective-C
#import "MaterialAnimationTiming.h"
Examples
Using Animation Timing
To use an animation timing curve select an appropriate a predefined MDCAnimationTimingFunction enum value. Use this value to look up an animation curve's timing function. The timing function can then be used in an animation.
Swift
let materialCurve = MDCAnimationTimingFunction.deceleration
let timingFunction = CAMediaTimingFunction.mdc_function(withType: materialCurve)
let animation = CABasicAnimation(keyPath:"transform.translation.x")
animation.timingFunction = timingFunction
Objc
MDCAnimationTimingFunction materialCurve = MDCAnimationTimingFunctionDeceleration;
CAMediaTimingFunction *timingFunction = [CAMediaTimingFunction mdc_functionWithType:materialCurve];
CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"transform.translation.x"];
animation.timingFunction = timingFunction;