NSTextView 的文本视图DidChangeSelection在选项命令拖动时未调用



我有一个NSTextView。

textViewDidChangeSelection是在我拖动以更改选择时调用的,或者如果我命令拖动,或如果我选项拖动,但不是在我选项命令拖动时调用的。

有时日志会输出以下内容:

[Framework] Shared items array is empty
[Framework] No shared items can be accessed

选项命令拖动当然会更改选择,所以我希望在发生选项命令拖动时得到通知。

;willChangeSelectionFromCharacterRanges";文件说,只有当";still选择";setSelectedRange或setSelectedRanges的参数设置为false。因此,我将NSTextView子类化,以覆盖这样的参数:

class NeverStillSelectingTextView : NSTextView {
override func setSelectedRanges(_ ranges: [NSValue], affinity: NSSelectionAffinity, stillSelecting stillSelectingFlag: Bool) {
super.setSelectedRanges(ranges, affinity: affinity, stillSelecting: false)
}
override func setSelectedRange(_ charRange: NSRange, affinity: NSSelectionAffinity, stillSelecting stillSelectingFlag: Bool) {
super.setSelectedRange(charRange, affinity: affinity, stillSelecting: false)
}
}

现在,当您命令选项拖动时,将始终调用willChangeSelectionFromCharacterRanges。

相关内容

  • 没有找到相关文章

最新更新