Edited at

SwiftでUILabelにAttributedStringを設定するメモ

More than 3 years have passed since last update.

NSMutableAttributedStringを使ったやり方のメモ


sample.swift

let attrText = NSMutableAttributedString(string: "装飾される文字列")

// 文字色
attrText.addAttributes([NSForegroundColorAttributeName: UIColor.blueColor()], range: NSMakeRange(1, 4))

// 背景色
attrText.addAttributes([NSBackgroundColorAttributeName: GSSettings.unreadNotificationColor()], range: NSMakeRange(1, 4))

// フォント(Bold、サイズはUILabelの標準サイズ)
attrText.addAttributes([NSFontAttributeName: UIFont.boldSystemFontOfSize(UIFont.labelFontSize())], range: NSMakeRange(0, 1))

self.label.attributedText = attrText


ちなみに、NSLinkAttributeNameを使ってリンクっぽい装飾はできるが、タップイベントは発生しない模様。。


link.swift

attrText.addAttributes([NSLinkAttributeName: NSURL(string: "http://google.co.jp")!], range: NSMakeRange(0, 4))