Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dimpiax/StyleDecorator
Easy string decoration with styles
https://github.com/dimpiax/StyleDecorator
attributedstring cocoapods decorator ios library style swift-3
Last synced: 3 months ago
JSON representation
Easy string decoration with styles
- Host: GitHub
- URL: https://github.com/dimpiax/StyleDecorator
- Owner: dimpiax
- License: mit
- Created: 2016-12-25T00:47:42.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2019-11-10T17:36:29.000Z (almost 5 years ago)
- Last Synced: 2024-08-08T00:35:45.410Z (3 months ago)
- Topics: attributedstring, cocoapods, decorator, ios, library, style, swift-3
- Language: Swift
- Homepage:
- Size: 464 KB
- Stars: 15
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-ios-star - StyleDecorator - Design string simply by linking attributes to needed parts. (Text / Other Testing)
- awesome-ios - StyleDecorator - Design string simply by linking attributes to needed parts. (Text / Other Testing)
README
# StyleDecorator
[![Language](https://img.shields.io/badge/swift-5.0-fec42e.svg)](https://swift.org/blog/swift-5-0-released/)
[![Version](https://img.shields.io/cocoapods/v/StyleDecorator.svg?style=flat)](http://cocoapods.org/pods/StyleDecorator)
[![License](https://img.shields.io/cocoapods/l/StyleDecorator.svg?style=flat)](http://cocoapods.org/pods/StyleDecorator)
[![Platform](https://img.shields.io/cocoapods/p/StyleDecorator.svg?style=flat)](http://cocoapods.org/pods/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:
```swift
"Style" + d1 + "Decorator" + d2 + "!"
// or
d1.wrap("Style") + d2.wrap("Decorator") + "!"
```Example:
```swift
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:
```swift
// check Example for detailed code, where created 'd', 'e', 'f' etclet 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)
.attributeslabel.attributedText = NSAttributedString(decorator: decoratedText, attributes: defaultAttributes)
```## Requirements
### Updated to Swift 5
#### Supports SPM###### For Swift 4 version use [v.0.4.2](../../releases/tag/0.4.2)
###### For Swift 3.1 version use [v.0.3.0](../../releases/tag/0.3.0)## Installation
StyleDecorator is available through [CocoaPods](http://cocoapods.org). To install
it, simply add the following line to your Podfile:```ruby
pod "StyleDecorator"
```## Author
Dmytro Pylypenko, [email protected]
## License
StyleDecorator is available under the MIT license. See the LICENSE file for more info.