iOS Developer Library

Developer

UIKit Framework Reference UITextRange Class Reference

Options
Deployment Target:

On This Page
Language:

UITextRange

A UITextRange object represents a range of characters in a text container; in other words, it identifies a starting index and an ending index in string backing a text-entry object.

Classes that adopt the UITextInput protocol must create custom UITextRange objects for representing ranges within the text managed by the class. The starting and ending indexes of the range are represented by UITextPosition objects. The text system uses both UITextRange and UITextPosition objects for communicating text-layout information. There are two reasons for using objects for text ranges rather than primitive types such as NSRange:

  • Some documents contain nested elements (for example, HTML tags and embedded objects) and you need to track both absolute position and position in the visible text.

  • The WebKit framework, which the iPhone text system is based on, requires that text indexes and offsets be represented by objects.

If you adopt the UITextInput protocol, you must create a custom UITextRange subclass as well as a custom UITextPosition subclass.

Inheritance


Conforms To


Import Statement


Swift

import UIKit

Objective-C

@import UIKit;

Availability


Available in iOS 3.2 and later.
  • start start Property

    The start of a range of text. (read-only)

    Declaration

    Swift

    var start: UITextPosition { get }

    Objective-C

    @property(nonatomic, readonly) UITextPosition *start

    Discussion

    Compute and store in this property the UITextPosition object representing the start of a range of text.

    Import Statement

    Objective-C

    @import UIKit;

    Swift

    import UIKit

    Availability

    Available in iOS 3.2 and later.

  • end end Property

    The end of the range of text. (read-only)

    Declaration

    Swift

    var end: UITextPosition { get }

    Objective-C

    @property(nonatomic, readonly) UITextPosition *end

    Discussion

    Compute and store in this property the UITextPosition object representing the end of a range of text.

    Import Statement

    Objective-C

    @import UIKit;

    Swift

    import UIKit

    Availability

    Available in iOS 3.2 and later.

  • empty empty Property

    A Boolean value that indicates whether the range of text represented by the receiver is zero-length. (read-only)

    Declaration

    Swift

    var empty: Bool { get }

    Objective-C

    @property(nonatomic, readonly, getter=isEmpty) BOOL empty

    Import Statement

    Objective-C

    @import UIKit;

    Swift

    import UIKit

    Availability

    Available in iOS 3.2 and later.