<!--
{
  "availability" : [
    "iOS: 4.0.0 - 26.0.0",
    "iPadOS: 4.0.0 - 26.0.0",
    "macCatalyst: 13.1.0 - 26.0.0",
    "macOS: 10.7.0 - 26.0.0",
    "tvOS: 9.0.0 - 26.0.0",
    "visionOS: 1.0.0 - 26.0.0"
  ],
  "documentType" : "symbol",
  "framework" : "AVFoundation",
  "identifier" : "/documentation/AVFoundation/AVMutableVideoCompositionLayerInstruction/setTransformRamp(fromStart:toEnd:timeRange:)",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "AVFoundation"
    ],
    "preciseIdentifier" : "c:objc(cs)AVMutableVideoCompositionLayerInstruction(im)setTransformRampFromStartTransform:toEndTransform:timeRange:"
  },
  "title" : "setTransformRamp(fromStart:toEnd:timeRange:)"
}
-->

# setTransformRamp(fromStart:toEnd:timeRange:)

Sets a transform ramp to apply during a given time range.

```
func setTransformRamp(fromStart startTransform: CGAffineTransform, toEnd endTransform: CGAffineTransform, timeRange: CMTimeRange)
```

## Parameters

`startTransform`

The transform to be applied at the starting time of `timeRange`.

`endTransform`

The transform to be applied at the end time of `timeRange`.

`timeRange`

The time range over which the value of the transform is interpolated between `startTransform` and `endTransform`.

## Discussion

During a transform ramp, the affine transform is interpolated between the values set at the ramp’s start time and end time. Before the first specified time for which a transform is set, the affine transform is held constant at the value of <doc://com.apple.documentation/documentation/CoreGraphics/CGAffineTransformIdentity>; after the last time for which a transform is set, the affine transform is held constant at that last value.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)