gpt4 book ai didi

cocoa - NSTextView 像 NSTextField 一样结束编辑操作

转载 作者:行者123 更新时间:2023-12-03 16:12:16 28 4
gpt4 key购买 nike

如何检测 NSTextView 上的结束编辑操作,就像 NSTextField 上一样?我无法将其视为操作或在其委托(delegate)中。

最佳答案

您可以注册通知,例如 NSTextDidEndEditingNotification

如果你想使用委托(delegate)模式,那么你应该检查NSTextDelegate协议(protocol)。文档 here 。结束编辑时发送的方法是 textDidEndEditing:

NSTextViewNSText 的子类,因此最好检查 docs也适用于该类(class)。

示例

NSTextView 有一个 NSTextViewDelegate 属性,您可以使用它来收到有关更改的通知。委托(delegate)方法只是获取“结束编辑”通知的便捷方法,与您可能从 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 }

// ...
}
}

关于cocoa - NSTextView 像 NSTextField 一样结束编辑操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12285618/

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