extension NSMutableAttributedString { var fontSize:CGFloat { return 14 } var boldFont:UIFont { return UIFont(name: "AvenirNext-Bold", size: fontSize) ?? UIFont.boldSystemFont(ofSize: fontSize) } var normalFont:UIFont { return UIFont(name: "AvenirNext-Regular", size: fontSize) ?? UIFont.systemFont(ofSize: fontSize)} func bold(_ value:String) -> NSMutableAttributedString { let attributes:[NSAttributedString.Key : Any] = [ .font : boldFont ] self.append(NSAttributedString(string: value, attributes:attributes)) return self } func normal(_ value:String) -> NSMutableAttributedString { let attributes:[NSAttributedString.Key : Any] = [ .font : normalFont, ] self.append(NSAttributedString(string: value, attributes:attributes)) return self } /* Other styling methods */ func orangeHighlight(_ value:String) -> NSMutableAttributedString { let attributes:[NSAttributedString.Key : Any] = [ .font : normalFont, .foregroundColor : UIColor.white, .backgroundColor : UIColor.orange ] self.append(NSAttributedString(string: value, attributes:attributes)) return self } func blackHighlight(_ value:String) -> NSMutableAttributedString { let attributes:[NSAttributedString.Key : Any] = [ .font : normalFont, .foregroundColor : UIColor.white, .backgroundColor : UIColor.black ] self.append(NSAttributedString(string: value, attributes:attributes)) return self } func underlined(_ value:String) -> NSMutableAttributedString { let attributes:[NSAttributedString.Key : Any] = [ .font : normalFont, .underlineStyle : NSUnderlineStyle.single.rawValue ] self.append(NSAttributedString(string: value, attributes:attributes)) return self } }
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter