如何在NSTextView上检测结束编辑操作,就像在NSTextField上一样?我看不出这是一个行动,也看不出它的代表性。
您可以注册通知,例如NSTextDidEndEditingNotification
。
如果要使用委托模式,则应检查NSTextDelegate
协议。此处提供文档。端部编辑发送的方法是textDidEndEditing:
。
NSTextView
是NSText
的一个子类,因此检查该类的文档也是一个好主意。
示例
NSTextView
有一个NSTextViewDelegate
属性,您可以使用它来获得有关更改的通知。委托方法只是获得"结束编辑"通知的方便方法,例如,与NSTextField
中的control:textShouldEndEditing
不同。
class SomeViewController: NSViewController, NSTextViewDelegate {
var textView: NSTextView!
func loadView() {
super.loadView()
textView.delegate = self
}
func textDidBeginEditing(notification: NSNotification) {
guard let editor = notification.object as? NSTextView else { return }
// ...
}
func textDidEndEditing(notification: NSNotification) {
guard let editor = notification.object as? NSTextView else { return }
// ...
}
}