看板 KnucklesNote
作者 標題 [Xcode][Swift3] 文字上色 NSAttributedString
時間 2017-04-17 Mon. 19:07:41
例如想要將標題文字:「123 標題文字」
前面的數字 123 顯示為深紅底黑色:「123 標題文字」
let numStr = "123"
let titleStr = "標題文字"
// 深紅色為 0x800000
let darkRed = UIColor(red: 0x80/255.0, green: 0, blue: 0, alpha: 1.0)
let numAttr = [NSForegroundColorAttributeName: UIColor.black,
NSBackgroundColorAttributeName: darkRed]
// 使用 attributes 陣列建立可擴充長度的 AttributedString
let attrStr = NSMutableAttributedString(string: numStr, attributes: numAttr)
// 後面接上一段 AttributedString
attrStr.append(NSAttributedString(string: titleStr))
//將 Label 的文字設定為 attributedString
titleLabel.attributedText = attrStr
let titleStr = "標題文字"
// 深紅色為 0x800000
let darkRed = UIColor(red: 0x80/255.0, green: 0, blue: 0, alpha: 1.0)
let numAttr = [NSForegroundColorAttributeName: UIColor.black,
NSBackgroundColorAttributeName: darkRed]
// 使用 attributes 陣列建立可擴充長度的 AttributedString
let attrStr = NSMutableAttributedString(string: numStr, attributes: numAttr)
// 後面接上一段 AttributedString
attrStr.append(NSAttributedString(string: titleStr))
//將 Label 的文字設定為 attributedString
titleLabel.attributedText = attrStr
執行結果
參考
StackOverflow How do I make an attributed string using Swift?
--
※ 作者: Knuckles 時間: 2017-04-17 19:07:41
※ 編輯: Knuckles 時間: 2017-04-21 17:55:17
※ 看板: KnucklesNote 文章推薦值: 0 目前人氣: 0 累積人氣: 234
回列表(←)
分享