在不调用textViewDidChangeSelection的情况下设置NSAttributedString属性,可以通过以下步骤实现:
这样就可以在不调用textViewDidChangeSelection的情况下设置NSAttributedString属性。
下面是一个示例代码:
// 获取textView的当前光标位置和选中范围
let selectedRange = textView.selectedRange
// 创建NSMutableAttributedString对象,并设置需要的属性
let attributedString = NSMutableAttributedString(string: textView.text)
attributedString.addAttribute(.foregroundColor, value: UIColor.red, range: NSMakeRange(0, attributedString.length))
// 取消选中状态
textView.selectedRange = NSMakeRange(0, 0)
// 替换textView的文本为设置好属性的NSMutableAttributedString对象
textView.textStorage.replaceCharacters(in: NSMakeRange(0, textView.text.count), with: attributedString)
// 将光标位置设置回原来的位置
textView.selectedRange = selectedRange
这样就可以在不调用textViewDidChangeSelection的情况下设置NSAttributedString属性。
领取专属 10元无门槛券
手把手带您无忧上云