我有两个文本视图中的文本,当我在一个文本视图窗口中选择文本的某些部分时,如果第二个textview具有它,我可以在第二个textview中更改相同文本的文本颜色。然后,当此选择消失时,第二个textview中的彩色文本仍然存在。我已经习惯了通知NSTextViewDidChangeSelectionNotification这样的功能。问题是当前一个选择消失时,我怎样才能实现这种情况?彩色文字会回到以前的颜色?如果有某种通知说不再选择文本,那将很容易做到。
答案 0 :(得分:1)
您需要做的是根据选择的长度执行操作(显然您可以使用自己的代码替换print
函数):
func textViewDidChangeSelection(textView: UITextView) {
if textView.selectedRange.length == 0 {
print("No selection.")
}
}
请注意,当插入点发生变化时,textViewDidChangeSelection
函数仍然会触发(即,如果您触摸textArea中的任何地方而不进行选择),而不仅仅是在选择更改时。
查看this以获取有关selectedRange
的{{1}}范围属性的文档中的详细信息。