StyleDecorator
StyleDecorator copied to clipboard
Easy string decoration with styles
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, [email protected]
License
StyleDecorator is available under the MIT license. See the LICENSE file for more info.