【发布时间】:2023-03-03 04:19:01
【问题描述】:
我创建了NSView 的子类并将其分配给主 ViewController 的视图。
我在那个视图上有两个NSTableViews。这些子视图有NSTextFields。
我开始编辑这些文本字段之一,然后按Cmd C。
performKeyEquivalent 被触发。
我如何知道是哪个文本字段触发了它?
我已经添加了这一行
override func performKeyEquivalent(with event: NSEvent) -> Bool {
super.performKeyEquivalent(with:event)
let firstResponder = self.window?.firstResponder
但正如预期的那样,它没有帮助。
macOS 告诉我 firstResponder 是 NSTextView,但我没有关于该项目的文本视图。
tag 也没有帮助。我的 tableViews 的单元格的标签等于 100、200 和 300,但是
let tag = (firstResponder! as! NSTextView).tag
给我-1 (?)
有什么想法吗?
【问题讨论】:
标签: ios swift tags nstableview nstextview