NSTextField と同じように、 NSTextView で編集終了アクションを検出するにはどうすればよいですか? アクションとして、またはそのデリゲートとして見ることができません。
3475 次
1 に答える
15
などの通知に登録できますNSTextDidEndEditingNotification
。
デリゲートパターンを使用する場合は、NSTextDelegate
プロトコルを確認する必要があります。ここにドキュメントがあります。編集終了時に送信されるメソッドはですtextDidEndEditing:
。
NSTextView
はのサブクラスであるため、そのクラスのドキュメントNSText
も確認することをお勧めします。
例
NSTextView
NSTextViewDelegate
変更に関する通知を受け取るために使用できるプロパティがあります。デリゲートメソッドは、たとえばcontrol:textShouldEndEditing
から知っているかもしれないのとは異なり、「編集終了」通知を取得するための単なる便利なメソッドです。NSTextField
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 }
// ...
}
}
于 2012-09-05T16:16:39.187 に答える