Type Property


Ease-in-ease-out pacing, which causes an animation to begin slowly, accelerate through the middle of its duration, and then slow again before completing.


static let easeInEaseOut: CAMediaTimingFunctionName


This is a Bézier timing function with the control points (0.42,0.0) and (0.58,1.0).

Listing 1 shows how to create a basic animation object using ease-in-ease-out interpolation.

Listing 1

Creating a basic animation with an ease-in-ease-out timing function

let verticalAnimation = CABasicAnimation(keyPath: "position.y")  
verticalAnimation.fromValue = 310  
verticalAnimation.toValue = 10  
verticalAnimation.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaseOut)

A layer animated with the animation created by the code above and with linearly interpolated horizontal movement would describe a path similar to Figure 1.

Figure 1

Path taken using ease-in-ease-out timing function

Path taken using ease-in-ease-out timing function

Beta Software

This documentation contains preliminary information about an API or technology in development. This information is subject to change, and software implemented according to this documentation should be tested with final operating system software.

Learn more about using Apple's beta software