Latest 0.4.3
Homepage https://github.com/dimpiax/StyleDecorator
License MIT
Platforms ios 8.0
Authors

Language
Version
License
Platform

Design string simply by linking attributes.

StyleDecorator

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))
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 + "nn" + titleText + "nn" + "Right" + e + "n" + "below black rect with red line" + f + "nnnwith 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 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

Pilipenko Dima, [email protected]

License

StyleDecorator is available under the MIT license. See the LICENSE file for more info.

Latest podspec

{
    "name": "StyleDecorator",
    "version": "0.4.3",
    "summary": "Kindly styling of text through decorating string",
    "description": "Create `Decorator` with specific `Style` and link it at the end of needed string or wrap for styling:nn```swiftn"Style" + d1 + "Decorator" + d2 + "!"n// ornd1.wrap("Style") + d2.wrap("Decorator") + "!"n```nnExample:n```swiftnlet a = Decorator(style: Style().foregroundColor(.black).kerning(-0.5).backgroundColor(.darkGray))nlet b = Decorator(style: Style().foregroundColor(.white))nlet c = Decorator(style: Style().foregroundColor(.gray).alignment(.right))nn// You can write in syntax you prefernlet decoratedText = "Bold" + a + "Heavy" + b + "Black" + cnlabel.attributedText = NSAttributedString(decorator: decoratedText)nn// ornlet a1 = a.wrap, b1 = b.wrap, c1 = c.wrapnlet decoratedText2 = a1("Bold") + b1("Heavy") + c1("Black")nlabel.attributedText = NSAttributedString(decorator: decoratedText2)n```nnString can be designed dynamically:n```swiftn// check Example for detailed code, where created 'd', 'e', 'f' etcnnlet titleText = "! " + ("Bold" + b + "Heavy" + c + "Black" + d)nlet decoratedText = "Decorate attributed string simply" + a + "nn" + titleText + "nn" + "Right" + e + "n" + "below black rect with red line" + f + "nnnwith default attributes"nnlet defaultAttributes = Style()n    .font(UIFont.systemFont(ofSize: 15, weight: UIFontWeightBlack))n    .alignment(.center)n    .attributesnnlabel.attributedText = NSAttributedString(decorator: decoratedText, attributes: defaultAttributes)n```",
    "homepage": "https://github.com/dimpiax/StyleDecorator",
    "screenshots": "https://github.com/dimpiax/StyleDecorator/raw/master/Example/StyleDecorator/Images.xcassets/thumbnail.imageset/thumbnail.png",
    "license": {
        "type": "MIT",
        "file": "LICENSE"
    },
    "authors": {
        "Dima Pilipenko": "[email protected]"
    },
    "source": {
        "git": "https://github.com/dimpiax/StyleDecorator.git",
        "tag": "0.4.3"
    },
    "social_media_url": "https://twitter.com/dimpiax",
    "platforms": {
        "ios": "8.0"
    },
    "source_files": "StyleDecorator/Classes/**/*"
}

Pin It on Pinterest

Share This