Skip to content
Design string simply by linking attributes to needed parts
Swift Ruby
Branch: master
Clone or download
Latest commit 91d6434 Oct 15, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Example Migrate to Swift 4.2 Oct 6, 2018
StyleDecorator Migrate to Swift 4.2 Oct 6, 2018
.gitignore Add build directory to gitignore Oct 6, 2018
.swift-version Set swift version Oct 9, 2018
.travis.yml refactoring Mar 28, 2017
LICENSE Initial commit Dec 24, 2016
Package.swift Use new Package format Oct 6, 2018
README.md Update podspec and README Oct 6, 2018
StyleDecorator.podspec Update podspec and README Oct 6, 2018
_Pods.xcodeproj Initial commit Dec 24, 2016

README.md

StyleDecorator

Language Version License Platform

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))
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 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, dimpiax@gmail.com

License

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

You can’t perform that action at this time.