Instance Method

textContainer(forGlyphAt:effectiveRange:)

Returns the container in which the given glyph is laid out and (optionally) by reference the whole range of glyphs that are in that container.

Declaration

func textContainer(forGlyphAt glyphIndex: Int, effectiveRange effectiveGlyphRange: NSRangePointer?) -> NSTextContainer?

Parameters

glyphIndex

Index of a glyph in the returned container.

effectiveGlyphRange

If not NULL, on output, points to the whole range of glyphs that are in the returned container.

Return Value

The text container in which the glyph at glyphIndex is laid out.

Discussion

This method causes glyph generation and layout for the line fragment containing the specified glyph, or if noncontiguous layout is not enabled, up to and including that line fragment. If noncontiguous layout is not enabled and effectiveGlyphRange is not NULL, this method additionally causes glyph generation and layout for the entire text container containing the specified glyph.

Overriding this method is not recommended. Any changes to the returned glyph range should be done at the typesetter level.

See Also

Managing the Text Containers

var textContainers: [NSTextContainer]

The receiver’s text containers.

func addTextContainer(NSTextContainer)

Appends the given text container to the series of text containers where the receiver arranges text.

func insertTextContainer(NSTextContainer, at: Int)

Inserts the given text container into the series of text containers at the given index.

func removeTextContainer(at: Int)

Removes the text container at the given index and invalidates the layout as needed.

func setTextContainer(NSTextContainer, forGlyphRange: NSRange)

Sets text container where the glyphs in the given range are laid out.

func textContainerChangedGeometry(NSTextContainer)

Invalidates the layout information, and possibly glyphs, for the given text container and all subsequent NSTextContainer objects.

func textContainerChangedTextView(NSTextContainer)

Updates information needed to manage NSTextView objects in the given text container.

func textContainer(forGlyphAt: Int, effectiveRange: NSRangePointer?, withoutAdditionalLayout: Bool) -> NSTextContainer?

Returns the container in which the given glyph is laid out and (optionally) by reference the whole range of glyphs that are in that container.

func usedRect(for: NSTextContainer) -> CGRect

Returns the bounding rectangle for the glyphs laid out in the given text container.