StyleDecorator

Design string simply by linking attributes.
Example
Create Decorator
with specific Style
and link it at the end of needed string or wrap for styling:
"Style" + d1 + "Decorator" + d2 + "!"
// or
d1.wrap("Style") + d2.wrap("Decorator") + "!"
Example:
let a = Decorator(style: Style().foregroundColor(.black).kerning(-0.5).backgroundColor(.darkGray))
let b = Decorator(style: Style().foregroundColor(.white).backgroundColor(.black))
let c = Decorator(style: Style().foregroundColor(.gray).alignment(.right))
// You can write in syntax you prefer
let decoratedText = "Bold" + a + "Heavy" + b + "Black" + c
label.attributedText = NSAttributedString(decorator: decoratedText)
// or
let a1 = a.wrap, b1 = b.wrap, c1 = c.wrap
let decoratedText2 = a1("Bold") + b1("Heavy") + c1("Black")
label.attributedText = NSAttributedString(decorator: decoratedText2)
String can be designed dynamically:
// check Example for detailed code, where created 'd', 'e', 'f' etc
let titleText = "! " + ("Bold" + b + "Heavy" + c + "Black" + d)
let decoratedText = "Decorate attributed string simply" + a + "\n\n" + titleText + "\n\n" + "Right" + e + "\n" + "below black rect with red line" + f + "\n\n\nwith default attributes"
let defaultAttributes = Style()
.font(UIFont.systemFont(ofSize: 15, weight: UIFontWeightBlack))
.alignment(.center)
.attributes
label.attributedText = NSAttributedString(decorator: decoratedText, attributes: defaultAttributes)
Requirements
Updated to Swift 5
Supports SPM
For Swift 4 version use v.0.4.2
For Swift 3.1 version use v.0.3.0
Installation
StyleDecorator is available through CocoaPods. To install
it, simply add the following line to your Podfile:
pod "StyleDecorator"
Author
Dmytro Pylypenko, dimpiax@gmail.com
License
StyleDecorator is available under the MIT license. See the LICENSE file for more info.
StyleDecorator
Design string simply by linking attributes.
Example
Create
Decorator
with specificStyle
and link it at the end of needed string or wrap for styling:Example:
String can be designed dynamically:
Requirements
Updated to Swift 5
Supports SPM
For Swift 4 version use v.0.4.2
For Swift 3.1 version use v.0.3.0
Installation
StyleDecorator is available through CocoaPods. To install it, simply add the following line to your Podfile:
Author
Dmytro Pylypenko, dimpiax@gmail.com
License
StyleDecorator is available under the MIT license. See the LICENSE file for more info.