【发布时间】:2012-11-29 05:47:27
【问题描述】:
我想突出显示或更改文本中某些字词的颜色,例如当您搜索某个字词时,您会在搜索结果中看到突出显示的字词。 我知道我不能用 NSStrings 做到这一点,但我将如何做到这一点?我想在 UITextView 中显示文本,但如果需要,可以做其他选项。
谢谢
【问题讨论】:
标签: ios uiwebview nsstring uitextview
我想突出显示或更改文本中某些字词的颜色,例如当您搜索某个字词时,您会在搜索结果中看到突出显示的字词。 我知道我不能用 NSStrings 做到这一点,但我将如何做到这一点?我想在 UITextView 中显示文本,但如果需要,可以做其他选项。
谢谢
【问题讨论】:
标签: ios uiwebview nsstring uitextview
在 iOS 6 中你可以做到这一点,因为 iOS 6 现在允许 UITextView(以及 UILabel、UIButton 等)显示样式文本 (NSAttributedString)。你用NSForegroundColorAttributeName给单词上色,用NSBackgroundColorAttributeName给它的背景上色,然后,你的亮点就出来了。关于这个主题有几个非常好的 WWDC 2012 视频。
【讨论】:
我现在能想到的唯一方法是使用 UIWebView 并使用 CSS 和 javascript 来突出显示单词。
您可以查看stack overflow answer 的示例,了解如何使用 jQuery 和 CSS 突出显示文本。
您也可以查看example
【讨论】:
我更喜欢使用 EgoTextView,您可以更改文本范围的颜色。请查看代码here。
【讨论】: