An elegant way to deal with attributed string in swift. It’s convenient to create attributed string by .cute
, whatever from String
, NSString
, NSAttributedString
or NSMutableAttributedString
. It’s so amazing that almost all methods support chaining
. I create this project just because I met Typeset serveral days ago. But I found it’s so hard to use by swift. So I made this.
Swift 3.0 & iOS 8+
import CuteAttribute
pod 'CuteAttribute'
pod install
import CuteAttribute
github "qiuncheng/CuteAttribute"
carthage update --platform ios
Follow the rest of the standard Carthage installation instructions to add CuteAttribute to your project.
Import the header file in your project.
import CuteAttribute
attribute name | result | NSAttributedString | CuteAttribute
— | — | — | —
color | | NSMutableAttributedString(string: “hello world”, attributes: [.foregroundColor: UIColor.red]) | “hello world”.cute.matchAll().color(.red)
baselineOffset |
| NSMutableAttributedString(string: “hello world”, attributes: [.baselineOffset: 10]) | “hello world”.cute.matchAll().baseline(10)
underline |
| NSMutableAttributedString(string: “hello world”, attributes: [.underlineColor: UIColor.red, .underlineStyle: NSUnderlineStyle.styleSingle.rawValue]) | “hello world”.cute.matchAll().underline(.styleSingle).underlineColor(.red)
font |
| NSMutableAttributedString(string: “hello world”, attributes: [NSAttributedStringKey.font: UIFont.systemFont(ofSize: 20)]) | “hello world”.cute.matchAll().font(UIFont.systemFont(ofSize: 20))
strikethrough |
| NSMutableAttributedString(string: “hello world”, attributes: [.strikethroughStyle: NSUnderlineStyle.styleSingle.rawValue, .strikethroughColor: UIColor.red]) | “hello world”.cute.matchAll().strikeThrough(.styleSingle).strokeColor(.red)
link |
| NSMutableAttributedString(string: “hello world”, attributes: [.link: “https://blog.vsccw.com”]) | “hello world”.cute.matchAll().link(“https://blog.vsccw.com”)
ligature |
| NSMutableAttributedString(string: “hello world”, attributes: [.ligature: 1]) | “hello world”.cute.matchAll().ligature(1)
kern |
| NSMutableAttributedString(string: “hello world”, attributes: [.kern: 10]) | “hello world”.cute.matchAll().kern(10)
stroke |
| NSMutableAttributedString(string: “hello world”, attributes: [.strokeColor: UIColor.red, .strokeWidth: 10]) | “hello world”.cute.matchAll().strokeColor(.red).strokeWidth(10)
shadow |
let shadow = NSShadow(); shadow.shadowColor = UIColor.red; shadow.shadowOffset = CGSize(width: 4, height: 4); shadow.shadowBlurRadius = 10;
| NSMutableAttributedString(string: “hello world”, attributes: [.shadow: shadow]) | “hello world”.cute.matchAll().shadow(shadow)
textEffect |
| “hello world”.cute.matchAll().textEffect(“NSTextEffectLetterpressStyle”) | “hello world”.cute.matchAll().textEffect(“NSTextEffectLetterpressStyle”)
obliqueness |
| NSMutableAttributedString(string: “hello world”, attributes: [.obliqueness: 10]) | “hello world”.cute.matchAll().obliqueness(10)
expansion |
| NSMutableAttributedString(string: “hello world”, attributes: [.expansion: 10]) | “hello world”.cute.matchAll().expansion(10)
textAttachment |
let attachment = NSTextAttachment(); attachment.image = UIImage(named: "hello.png");
| NSMutableAttributedString(string: “hello world”, attributes: [.attachment: attachment]) | “hello world”.cute.matchAll().textAttachment(attachment)
Typeset : Deal with AttributedString efficiently in Objective-C
.
Under MIT License