TextAttributes
TextAttributes makes it easy to compose attributed strings.
Features
- [x] Strongly typed properties
- [x] Chainable setter methods
- [x] A direct access to the
NSParagraphStyle
properties - [x] Better autocompletion
Usage
- Get or set the
TextAttributes
properties:
- Method chaining:
The TextAttributes
methods return Self
to allow method chaining:
See all the methods
- The methods are also constructors:
The following are equivalent:
- Access the underlying dictionary:
Third-party libraries:
- muukii/TextAttributesUtil Quickly create NSAttributedString with TextAttributes
Demo
Live updates with Injection for Xcode
References
Attributes dictionary
Dictionary Key | TextAttributes Property |
TextAttributes Method |
---|---|---|
NSFontAttributeName |
font |
font(name:size:) |
font(_:) |
||
NSParagraphStyleAttributeName |
paragraphStyle |
paragraphStyle(_:) |
NSForegroundColorAttributeName |
foregroundColor |
foregroundColor(_:) |
foregroundColor(white:alpha:) |
||
foregroundColor(hue:saturation:brightness:alpha:) |
||
foregroundColor(red:green:blue:alpha:) |
||
foregroundColor(patternImage:) |
||
NSBackgroundColorAttributeName |
backgroundColor |
backgroundColor(_:) |
backgroundColor(white:alpha:) |
||
backgroundColor(hue:saturation:brightness:alpha:) |
||
backgroundColor(red:green:blue:alpha:) |
||
backgroundColor(patternImage:) |
||
NSLigatureAttributeName |
ligature |
ligature(_:) |
NSKernAttributeName |
kern |
kern(_:) |
NSStrikethroughStyleAttributeName |
strikethroughStyle |
strikethroughStyle(_:) |
NSStrikethroughColorAttributeName |
strikethroughColor |
strikethroughColor(_:) |
strikethroughColor(white:alpha:) |
||
strikethroughColor(hue:saturation:brightness:alpha:) |
||
strikethroughColor(red:green:blue:alpha:) |
||
strikethroughColor(patternImage:) |
||
NSUnderlineStyleAttributeName |
underlineStyle |
underlineStyle(_:) |
NSUnderlineColorAttributeName |
underlineColor |
underlineColor(_:) |
underlineColor(white:alpha:) |
||
underlineColor(hue:saturation:brightness:alpha:) |
||
underlineColor(red:green:blue:alpha:) |
||
underlineColor(patternImage:) |
||
NSStrokeWidthAttributeName |
strokeWidth |
strokeWidth(_:) |
NSStrokeColorAttributeName |
strokeColor |
strokeColor(_:) |
strokeColor(white:alpha:) |
||
strokeColor(hue:saturation:brightness:alpha:) |
||
strokeColor(red:green:blue:alpha:) |
||
strokeColor(patternImage:) |
||
NSShadowAttributeName |
shadow |
shadow(_:) |
shadow(color:offset:blurRadius:) |
||
NSTextEffectAttributeName |
textEffect |
textEffect(_:) |
NSAttachmentAttributeName |
attachment |
attachment(_:) |
NSLinkAttributeName |
link |
link(_:) |
link(string:) |
||
link(string:relativeToURL:) |
||
NSBaselineOffsetAttributeName |
baselineOffset |
baselineOffset(_:) |
NSObliquenessAttributeName |
obliqueness |
obliqueness(_:) |
NSExpansionAttributeName |
expansion |
expansion(_:) |
NSVerticalGlyphFormAttributeName |
verticalGlyphForm |
verticalGlyphForm(_:) |
Paragraph style
NSMutableParagraphStyle Property |
TextAttributes Property |
TextAttributes Method |
---|---|---|
alignment |
alignment |
alignment(_:) |
firstLineHeadIndent |
firstLineHeadIndent |
firstLineHeadIndent(_:) |
headIndent |
headIndent |
headIndent(_:) |
tailIndent |
tailIndent |
tailIndent(_:) |
lineBreakMode |
lineBreakMode |
lineBreakMode(_:) |
maximumLineHeight |
maximumLineHeight |
maximumLineHeight(_:) |
lineSpacing |
lineSpacing |
lineSpacing(_:) |
paragraphSpacing |
paragraphSpacing |
paragraphSpacing(_:) |
paragraphSpacingBefore |
paragraphSpacingBefore |
paragraphSpacingBefore(_:) |
baseWritingDirection |
baseWritingDirection |
baseWritingDirection(_:) |
lineHeightMultiple |
lineHeightMultiple |
lineHeightMultiple(_:) |
Installation
Carthage
Carthage is a decentralized dependency manager that automates the process of adding frameworks to your Cocoa application.
You can install Carthage with Homebrew using the following command:
To integrate TextAttributes into your Xcode project using Carthage, specify it in your Cartfile
:
Cocoapods
CocoaPods is a dependency manager for Cocoa projects.
You can install it with the following command:
To integrate TextAttributes into your Xcode project using CocoaPods, specify it in your Podfile
: