Protocol

NSTextInputClient

A set of methods that text views must implement to interact properly with the text input management system.

Overview

To create another text view class, you can either subclass NSTextView (and not NSText, for historical reasons), or subclass NSView and implement the NSTextInputClient protocol

Topics

Handling Marked Text

func hasMarkedText()

Returns a Boolean value indicating whether the receiver has marked text.

Required.

func markedRange()

Returns the range of the marked text.

Required.

func selectedRange()

Returns the range of selected text.

Required.

func setMarkedText(Any, selectedRange: NSRange, replacementRange: NSRange)

Replaces a specified range in the receiver’s text storage with the given string and sets the selection.

Required.

func unmarkText()

Unmarks the marked text.

Required.

func validAttributesForMarkedText()

Returns an array of attribute names recognized by the receiver.

Required.

Storing Text

func attributedSubstring(forProposedRange: NSRange, actualRange: NSRangePointer?)

Returns an attributed string derived from the given range in the receiver's text storage.

Required.

func insertText(Any, replacementRange: NSRange)

Inserts the given string into the receiver, replacing the specified content.

Required.

Getting Character Coordinates

func characterIndex(for: NSPoint)

Returns the index of the character whose bounding rectangle includes the given point.

Required.

func firstRect(forCharacterRange: NSRange, actualRange: NSRangePointer?)

Returns the first logical boundary rectangle for characters in the given range.

Required.

Binding Keystrokes

func doCommand(by: Selector)

Invokes the action specified by the given selector.

Required.

Optional Methods

func attributedString()

Returns an attributed string representing the receiver's text storage.

func fractionOfDistanceThroughGlyph(for: NSPoint)

Returns the fraction of the distance from the left side of the character to the right side that a given point lies.

func baselineDeltaForCharacter(at: Int)

Returns the baseline position of a given character relative to the origin of rectangle returned by firstRect(forCharacterRange:actualRange:).

func windowLevel()

Returns the window level of the receiver.

func drawsVerticallyForCharacter(at: Int)

Informs the text input management system whether the protocol-conforming client renders the character at the given index vertically.

Relationships

Adopted By

See Also

Input Management

protocol NSTextInput

A set of methods that text views must implement to interact properly with the text input management system.

class NSTextInputContext

An object that represents the Cocoa text input system.

class NSTextAlternatives

A list of alternative strings for a piece of text.