答案 0 :(得分:1)
答案 1 :(得分:0)
https://stackoverflow.com/a/26456563/8272698'
我在上面找到了这个答案,很遗憾,它是在目标c中
但是您仍然可以看到他们是如何做到的。
- (void)highlight {
NSRange selectedTextRange = self.textView.selectedRange;
[attributedString addAttribute:NSBackgroundColorAttributeName
value:[UIColor redColor]
range:selectedTextRange];
float sysVer = [[[UIDevice currentDevice] systemVersion] floatValue];
if (sysVer < 8.0) {
// iOS 7 fix
self.textView.scrollEnabled = NO;
self.textView.attributedText = attributedString;
self.textView.scrollEnabled = YES;
} else {
self.textView.attributedText = attributedString;
}
}
基本上,他们创建了一个称为高亮的功能。
在该功能中,他们正在寻找用户实际突出显示所选部分的时间。 self.textView.selectedRange
当他们获得文本范围时,用户已选择。他们给它一个属性,并为其提供颜色。
迅速
let selectedText = textView.selectedRange
创建属性:
let myAttribute = [ NSForegroundColorAttributeName: selectedUIColor]
为其提供属性
textView.textStorage.addAttributes(myAttribute, range: selectedText)
在发件人调用的操作中使用此功能。
希望这会有所帮助!