---
title: easeInEaseOut
framework: quartzcore
role: symbol
role_heading: Type Property
path: quartzcore/camediatimingfunctionname/easeineaseout
---

# easeInEaseOut

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.

## Declaration

```swift
static let easeInEaseOut: CAMediaTimingFunctionName
```

## Discussion

Discussion This is a Bézier timing function with the control points (0.42,0.0) and (0.58,1.0). The following code shows how to create a basic animation object using ease-in-ease-out interpolation. 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 the following figure.

## See Also

### Constants

- [linear](quartzcore/camediatimingfunctionname/linear.md)
- [easeIn](quartzcore/camediatimingfunctionname/easein.md)
- [easeOut](quartzcore/camediatimingfunctionname/easeout.md)
- [default](quartzcore/camediatimingfunctionname/default.md)
