Mac Developer Library

Developer

AppKit Framework Reference NSParagraphStyle Class Reference

Options
Deployment Target:

On This Page
Language:

NSParagraphStyle

The NSParagraphStyle class and its subclass NSMutableParagraphStyle encapsulate the paragraph or ruler attributes used by the NSAttributedString classes. Instances of these classes are often referred to as paragraph style objects or, when no confusion will result, paragraph styles.

The mutable subclass of NSParagraphStyle is NSMutableParagraphStyle.

Inheritance


Import Statement


Swift

import AppKit

Objective-C

@import AppKit;

Availability


Available in OS X v10.0 and later.
  • Returns the default paragraph style.

    Declaration

    Swift

    class func defaultParagraphStyle() -> NSParagraphStyle

    Objective-C

    + (NSParagraphStyle *)defaultParagraphStyle

    Discussion

    The default paragraph style has the following default values:

    Subattribute

    Default Value

    Alignment

    NSNaturalTextAlignment

    Tab stops (Mac OS X only)

    12 left-aligned tabs, spaced by 28.0 points

    Line break mode

    NSLineBreakByWordWrapping

    All others

    0.0

    See individual method descriptions for explanations of each subattribute.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Returns the text alignment of the receiver.

    Declaration

    Swift

    var alignment: NSTextAlignment { get }

    Objective-C

    @property(readonly) NSTextAlignment alignment

    Return Value

    The text alignment.

    Discussion

    Natural text alignment is realized as left or right alignment depending on the line sweep direction of the first script contained in the paragraph.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

    See Also

    setAlignment: (NSMutableParagraphStyle)

  • Returns the indentation of the first line of the receiver.

    Declaration

    Swift

    var firstLineHeadIndent: CGFloat { get }

    Objective-C

    @property(readonly) CGFloat firstLineHeadIndent

    Return Value

    The distance in points from the leading margin of a text container to the beginning of the paragraph’s first line. This value is always nonnegative.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

    See Also

    – headIndent
    – tailIndent
    setFirstLineHeadIndent: (NSMutableParagraphStyle)

  • Returns the indentation of the receiver’s lines other than the first.

    Declaration

    Swift

    var headIndent: CGFloat { get }

    Objective-C

    @property(readonly) CGFloat headIndent

    Return Value

    The distance in points from the leading margin of a text container to the beginning of lines other than the first. This value is always nonnegative.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

    See Also

    – firstLineHeadIndent
    – tailIndent
    setHeadIndent: (NSMutableParagraphStyle)

  • Returns the trailing indentation of the receiver.

    Declaration

    Swift

    var tailIndent: CGFloat { get }

    Objective-C

    @property(readonly) CGFloat tailIndent

    Return Value

    The distance in points from the margin of a text container to the end of lines.

    Discussion

    If positive, this value is the distance from the leading margin (for example, the left margin in left-to-right text). If 0 or negative, it’s the distance from the trailing margin.

    For example, a paragraph style designed to fit exactly in a 2-inch wide container has a head indent of 0.0 and a tail indent of 0.0. One designed to fit with a quarter-inch margin has a head indent of 0.25 and a tail indent of –0.25.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

    See Also

    – headIndent
    – firstLineHeadIndent
    setTailIndent: (NSMutableParagraphStyle)

  • Returns the line height multiple.

    Declaration

    Swift

    var lineHeightMultiple: CGFloat { get }

    Objective-C

    @property(readonly) CGFloat lineHeightMultiple

    Return Value

    The line height multiple. The natural line height of the receiver is multiplied by this factor (if positive) before being constrained by minimum and maximum line height. Default return value is 0.0.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.3 and later.

  • Returns the receiver’s maximum line height.

    Declaration

    Swift

    var maximumLineHeight: CGFloat { get }

    Objective-C

    @property(readonly) CGFloat maximumLineHeight

    Return Value

    The maximum height in points that any line in the receiver will occupy, regardless of the font size or size of any attached graphic. This value is always nonnegative. The default value is 0.

    Discussion

    Glyphs and graphics exceeding this height will overlap neighboring lines; however, a maximum height of 0 implies no line height limit. Although this limit applies to the line itself, line spacing adds extra space between adjacent lines.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Returns the receiver’s minimum height.

    Declaration

    Swift

    var minimumLineHeight: CGFloat { get }

    Objective-C

    @property(readonly) CGFloat minimumLineHeight

    Return Value

    The minimum height in points that any line in the receiver will occupy, regardless of the font size or size of any attached graphic. This value is always nonnegative.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Returns the distance in points between the bottom of one line fragment and the top of the next.

    Declaration

    Swift

    var lineSpacing: CGFloat { get }

    Objective-C

    @property(readonly) CGFloat lineSpacing

    Return Value

    This value is always nonnegative. This value is included in the line fragment heights in the layout manager.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Returns the space after the end of the paragraph.

    Declaration

    Swift

    var paragraphSpacing: CGFloat { get }

    Objective-C

    @property(readonly) CGFloat paragraphSpacing

    Return Value

    The space in points added at the end of the paragraph to separate it from the following paragraph. This value is always nonnegative.

    Discussion

    This value is determined by adding the previous paragraph’s paragraphSpacing and the current paragraph’s paragraphSpacingBefore.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

  • Returns the distance between the paragraph’s top and the beginning of its text content.

    Declaration

    Swift

    var paragraphSpacingBefore: CGFloat { get }

    Objective-C

    @property(readonly) CGFloat paragraphSpacingBefore

    Return Value

    The distance in points between the paragraph’s top and the beginning of its text content. Default return value is 0.0.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.3 and later.

    See Also

    – paragraphSpacing
    setParagraphSpacingBefore: (NSMutableParagraphStyle)

  • Returns the receiver’s tab stops.

    Declaration

    Swift

    var tabStops: [AnyObject]? { get }

    Objective-C

    @property(readonly, copy) NSArray *tabStops

    Return Value

    The NSTextTab objects, sorted by location, that define the tab stops for the paragraph style.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

    See Also

    location (NSTextTab - Mac OS X only)

  • Returns the document-wide default tab interval.

    Declaration

    Swift

    var defaultTabInterval: CGFloat { get }

    Objective-C

    @property(readonly) CGFloat defaultTabInterval

    Return Value

    The default tab interval in points. Tabs after the last specified in tabStops are placed at integer multiples of this distance (if positive). Default return value is 0.0.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.3 and later.

  • Returns an array specifying the text blocks containing the paragraph.

    Declaration

    Swift

    var textBlocks: [AnyObject]? { get }

    Objective-C

    @property(readonly, copy) NSArray *textBlocks

    Return Value

    An array of the NSTextTableBlock objects containing the paragraph, nested from outermost to innermost.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.4 and later.

  • Returns an array specifying the text lists containing the paragraph.

    Declaration

    Swift

    var textLists: [AnyObject]? { get }

    Objective-C

    @property(readonly, copy) NSArray *textLists

    Return Value

    An array of the NSTextList objects containing the paragraph, nested from outermost to innermost.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.4 and later.

  • Returns the mode that should be used to break lines in the receiver.

    Declaration

    Swift

    var lineBreakMode: NSLineBreakMode { get }

    Objective-C

    @property(readonly) NSLineBreakMode lineBreakMode

    Return Value

    The line break mode to be used laying out the paragraph’s text.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.

    See Also

    setLineBreakMode: (NSMutableParagraphStyle)

  • Returns the paragraph’s threshold for hyphenation.

    Declaration

    Swift

    var hyphenationFactor: Float { get }

    Objective-C

    @property(readonly) float hyphenationFactor

    Return Value

    A value between 0.0 and 1.0 inclusive. The default value is 0.0.

    Discussion

    Hyphenation is attempted when the ratio of the text width (as broken without hyphenation) to the width of the line fragment is less than the hyphenation factor. When the paragraph’s hyphenation factor is 0.0, the layout manager’s hyphenation factor is used instead. When both are 0.0, hyphenation is disabled.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.4 and later.

    See Also

    setHyphenationFactor: (NSMutableParagraphStyle)

  • Returns the threshold for using tightening as an alternative to truncation.

    Declaration

    Swift

    var tighteningFactorForTruncation: Float { get }

    Objective-C

    @property(readonly) float tighteningFactorForTruncation

    Return Value

    The tightening threshold value. The default value is 0.05.

    Discussion

    When the line break mode specifies truncation, the text system attempts to tighten inter character spacing as an alternative to truncation, provided that the ratio of the text width to the line fragment width does not exceed 1.0 + the tightening factor returned by this method. Otherwise the text is truncated at a location determined by the line break mode.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.4 and later.

  • Specifies whether the paragraph is to be treated as a header for purposes of HTML generation.

    Declaration

    Swift

    var headerLevel: Int { get }

    Objective-C

    @property(readonly) NSInteger headerLevel

    Return Value

    Returns 0 (the default value), if the paragraph is not a header, or from 1 through 6 if the paragraph is to be treated as a header.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.4 and later.

  • These constants specify what happens when a line is too long for its container.

    Declaration

    Swift

    enum NSLineBreakMode : UInt { case ByWordWrapping case ByCharWrapping case ByClipping case ByTruncatingHead case ByTruncatingTail case ByTruncatingMiddle }

    Objective-C

    enum { NSLineBreakByWordWrapping = 0, NSLineBreakByCharWrapping, NSLineBreakByClipping, NSLineBreakByTruncatingHead, NSLineBreakByTruncatingTail, NSLineBreakByTruncatingMiddle }; typedef NSUInteger NSLineBreakMode

    Constants

    • ByWordWrapping

      NSLineBreakByWordWrapping

      Wrapping occurs at word boundaries, unless the word itself doesn’t fit on a single line. See Characters and Grapheme Clusters in String Programming Guide for a discussion of issues related to determining word boundaries.

      Available in OS X v10.0 and later.

    • ByCharWrapping

      NSLineBreakByCharWrapping

      Wrapping occurs before the first character that doesn’t fit.

      Available in OS X v10.0 and later.

    • ByClipping

      NSLineBreakByClipping

      Lines are simply not drawn past the edge of the text container.

      Available in OS X v10.0 and later.

    • ByTruncatingHead

      NSLineBreakByTruncatingHead

      The line is displayed so that the end fits in the container and the missing text at the beginning of the line is indicated by an ellipsis glyph. Although this mode works for multiline text, it is more often used for single line text.

      Available in OS X v10.0 and later.

    • ByTruncatingTail

      NSLineBreakByTruncatingTail

      The line is displayed so that the beginning fits in the container and the missing text at the end of the line is indicated by an ellipsis glyph. Although this mode works for multiline text, it is more often used for single line text.

      Available in OS X v10.0 and later.

    • ByTruncatingMiddle

      NSLineBreakByTruncatingMiddle

      The line is displayed so that the beginning and end fit in the container and the missing text in the middle is indicated by an ellipsis glyph. Although this mode works for multiline text, it is more often used for single line text.

      Available in OS X v10.0 and later.

    Import Statement

    Objective-C

    @import AppKit;

    Swift

    import AppKit

    Availability

    Available in OS X v10.0 and later.