gpt4 book ai didi

ios - macOS - 有没有办法知道哪个文本字段触发了 performKeyEquivalent?

转载 作者:行者123 更新时间:2023-11-29 11:24:49 25 4
gpt4 key购买 nike

我已经创建了 NSView 的子类并将其分配给主 ViewController 的 View 。

我在该 View 上有两个 NSTableViews。这些 subview 有 NSTextField

我开始编辑这些文本字段之一,然后按 Cmd C

performKeyEquivalent 被触发。

我怎么知道哪个文本字段触发了它?

我已经添加了这一行

override func performKeyEquivalent(with event: NSEvent) -> Bool {
super.performKeyEquivalent(with:event)
let firstResponder = self.window?.firstResponder

但不出所料,它没有帮助。

macOS 告诉我 firstResponder 是一个 NSTextView,但我没有项目的 TextView 。

tag 也无济于事。我的 tableView 的单元格的标签等于 100、200 和 300,但是

let tag = (firstResponder! as! NSTextView).tag

给我 -1 (?)

有什么想法吗?

最佳答案

NSTextField 是自己编辑器的委托(delegate),它是 NSTextView,所以这里应该怎么走

override func performKeyEquivalent(with event: NSEvent) -> Bool {

if let editor = self.window?.firstResponder as? NSTextView,
let textField = editor.delegate as? NSTextField {
print("Identified by: \(textField.tag)")
}

return super.performKeyEquivalent(with:event)
}

关于ios - macOS - 有没有办法知道哪个文本字段触发了 performKeyEquivalent?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59467481/

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