寫一段富文本
對(duì)字符串 "Have a nice day!",將單詞 "nice" 用紅色顯示锦茁,其它字符用默認(rèn)顏色攘轩。
分析
Swift 中依舊使用 NSAttributedString/NSMutableAttributedString 進(jìn)行富文本的顯示,它們?cè)谔砑訉傩晕谋镜臅r(shí)候接受的是 NSRange 類型的參數(shù)码俩,這時(shí)就需要將 Range 變量轉(zhuǎn)換為 NSRange 類型度帮。
解決
let fullWord = "Have a nice day!"
let attrString = NSMutableAttributedString(string: fullWord)
let range = fullWord.range(of: "nice")!
let nsrange = NSRange(range, in: fullWord) // Range to NSRange
attrString.addAttributes([NSAttributedStringKey.foregroundColor : UIColor.red], range: nsrange)
textLabel.attributedText = attrString
要點(diǎn)
取出 "nice" 在字符串中的位置
let range = fullWord.range(of: "nice") // Range 類型
Range 轉(zhuǎn) NSRange
let nsrange = NSRange(range, in: fullWord)
NSRange 轉(zhuǎn) Range
let range = Range(nsrange, in: fullWord)