gpt4 book ai didi

macos - 哪个 NSTableView 接收 NSMenuItem?

转载 作者:行者123 更新时间:2023-12-03 17:39:40 25 4
gpt4 key购买 nike

我有一个自定义的 NSViewController,其中有两个并排的 NSTableView,类似于 Split View设置,其中左侧 tableView 上的选择会更改右侧 tableView 的列表。我不确定在这种情况下如何处理 NSMenuItem 事件。例如如果我按下“删除”按钮,如何区分按下“删除”按钮时突出显示的是左 TableView 还是右 TableView ?我得到的只是删除:使用 NSMenuItem 作为发送者调用的选择器。

最佳答案

首先,一些背景知识:

在 Cocoa 术语中,“主动” View 或控件被称为“第一响应者”。例如,当您在文本字段中输入文本时,文本字段被视为“第一响应者”,因为它是第一个响应键盘输入的对象。 NSTableView 还可以接收第一响应者状态(您可以使用箭头键控制所选行)。

您可以向窗口询问其第一响应者,如下所示:

// it's not necessarily a sure thing that the first responder is a TableView.
id myFirstResponder = [_parentWindow firstResponder];

if (myFirstResponder == _leftTableView) {
// left tableview is selected
} else if (myFirstResponder == _rightTableView) {
// right tableview is selected
}

关于macos - 哪个 NSTableView 接收 NSMenuItem?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21863857/

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