gpt4 book ai didi

macos - NSTextView 监听插入符位置变化

转载 作者:行者123 更新时间:2023-12-03 17:20:13 26 4
gpt4 key购买 nike

如何获取 NSTextView 插入符位置更改的回调?

我尝试过 KVO

[textView addObserver:self forKeyPath:@"selectedRange" options:NSKeyValueObservingOptionNew context:NULL];

但是当我使用箭头键或鼠标移动时,我没有得到回调...可能是因为范围是一个结构,它会修改其成员(当文本更改时我只得到回调)

但是如何监控插入符位置变化?

最佳答案

Swift 4 版本:

public func textViewDidChangeSelection(_ notification: Notification) {
guard let textView = notification.object as? NSTextView,
let string = textView.textStorage?.string else {
return
}

if let nsRange = textView.selectedRanges.first as? NSRange,
let range = Range(nsRange, in: string) {
print(nsRange)
print(range.lowerBound.encodedOffset, range.upperBound.encodedOffset)
}
}

关于macos - NSTextView 监听插入符位置变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31985868/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com