var chordsArray = ["Cmaj","Bbmaj7"]func getcoloredText(textVIEw: UITextVIEw) -> NSMutableAttributedString { let text = textVIEw.text let string:NSMutableAttributedString = NSMutableAttributedString(string: text) let words:[String] = text.componentsSeparatedByString(" ") for word in words { if (chordsArray.contains(word)) { let range:NSRange = (string.string as Nsstring).rangeOfString(word) string.addAttribute(NSForegroundcolorAttributename,value: UIcolor.redcolor(),range: range) } } chords.attributedText = string return string}
结果
对不起,我刚注意到你的消息.这是一个工作示例(在 *** 场上测试):import UIKitfunc apply (string: NSMutableAttributedString,word: String) -> NSMutableAttributedString { let range = (string.string as Nsstring).rangeOfString(word) return apply(string,word: word,range: range,last: range)}func apply (string: NSMutableAttributedString,word: String,range: NSRange,last: NSRange) -> NSMutableAttributedString { if range.location != NSNotFound { string.addAttribute(NSForegroundcolorAttributename,range: range) let start = last.location + last.length let end = string.string.characters.count - start let stringRange = NSRange(location: start,length: end) let newRange = (string.string as Nsstring).rangeOfString(word,options: [],range: stringRange) apply(string,range: newRange,last: range) } return string}var chordsArray = ["Cmaj","Bbmaj7"]var text = "Cmaj Bbmaj7 I love Swift Cmaj Bbmaj7 Swift"var newText = NSMutableAttributedString(string: text)for word in chordsArray { newText = apply(newText,word: word)}newText总结
以上是内存溢出为你收集整理的swift – UITextView更改特定文本的文本颜色全部内容,希望文章能够帮你解决swift – UITextView更改特定文本的文本颜色所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)