<!--
{
  "availability" : [
    "iOS: -",
    "iPadOS: -",
    "macCatalyst: -",
    "macOS: -",
    "tvOS: -",
    "visionOS: -",
    "watchOS: -"
  ],
  "documentType" : "symbol",
  "framework" : "CoreText",
  "identifier" : "/documentation/CoreText/CTFrame",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "Core Text"
    ],
    "preciseIdentifier" : "c:@T@CTFrameRef"
  },
  "title" : "CTFrame"
}
-->

# CTFrame

A frame.

```
class CTFrame
```

## Overview

A frame contains multiple lines of text. The frame object is the output resulting from the text-framing process performed by a [`CTFramesetter`](/documentation/CoreText/CTFramesetter) object.

You can draw the entire text frame directly into the current graphic context. The frame object contains an array of line objects that can be retrieved for individual rendering or to get glyph information.

## Topics

### Getting Frame Data

[`CTFrameGetStringRange(_:)`](/documentation/CoreText/CTFrameGetStringRange(_:))

Returns the range of characters originally requested to fill the frame.

[`CTFrameGetVisibleStringRange(_:)`](/documentation/CoreText/CTFrameGetVisibleStringRange(_:))

Returns the range of characters that actually fit in the frame.

[`CTFrameGetPath(_:)`](/documentation/CoreText/CTFrameGetPath(_:))

Returns the path used to create the frame.

[`CTFrameGetFrameAttributes(_:)`](/documentation/CoreText/CTFrameGetFrameAttributes(_:))

Returns the frame attributes used to create the frame.

### Getting Lines

[`CTFrameGetLines(_:)`](/documentation/CoreText/CTFrameGetLines(_:))

Returns an array of lines stored in the frame.

[`CTFrameGetLineOrigins(_:_:_:)`](/documentation/CoreText/CTFrameGetLineOrigins(_:_:_:))

Copies a range of line origins for a frame.

### Drawing the Frame

[`CTFrameDraw(_:_:)`](/documentation/CoreText/CTFrameDraw(_:_:))

Draws an entire frame into a context.

### Getting the Type Identifier

[`CTFrameGetTypeID()`](/documentation/CoreText/CTFrameGetTypeID())

Returns the type identifier for the CTFrame opaque type.

### Data Types

[`CTFramePathFillRule`](/documentation/CoreText/CTFramePathFillRule)

These constants specify the fill rule used by a frame

### Constants

[`CTFrameProgression`](/documentation/CoreText/CTFrameProgression)

Constants that specify frame progression types.

[`kCTFrameProgressionAttributeName`](/documentation/CoreText/kCTFrameProgressionAttributeName)

Specifies progression for a frame.

[`kCTFramePathFillRuleAttributeName`](/documentation/CoreText/kCTFramePathFillRuleAttributeName)

The key used to specify the fill rule for a frame.

[`kCTFramePathWidthAttributeName`](/documentation/CoreText/kCTFramePathWidthAttributeName)

The key used to specify the frame width.

[`kCTFrameClippingPathsAttributeName`](/documentation/CoreText/kCTFrameClippingPathsAttributeName)

Specifies array of paths to clip frame.

[`kCTFramePathClippingPathAttributeName`](/documentation/CoreText/kCTFramePathClippingPathAttributeName)

Specifies clipping path.



---

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)