“保存”命令转到当前窗口。到目前为止,我只能在应用程序委托-6ren">
gpt4 book ai didi

cocoa - 将 NSMenu 命令传输到当前窗口?

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

这里是 OS X 开发新手,但对 iOS 相当有经验。

我缺少一些有关顶级 NSMenu 与应用程序交互方式的基本信息。我希望"file"->“保存”命令转到当前窗口。到目前为止,我只能在应用程序委托(delegate)中接收 NSMenu 操作。我是否应该跟踪那里的事件窗口并调用应用程序委托(delegate)中的方法?

最佳答案

首先,听起来您需要 read up关于 Mac 菜单处理,因为为了正确处理菜单,您需要了解很多事情。

为了回答您的具体问题,如果菜单项的目标为 nil,例如 Save 菜单项,则菜单处理系统将沿着响应者链向上走,从当前事件的控件或 View (第一响应者)开始,查找实现该菜单项的操作选择器的对象。

如果你不明白响应者链是如何工作的,你应该read about that too ,因为这是理解 Mac 应用程序工作原理的基础。

如果您希望窗口 Controller 在其窗口为主窗口时处理 -save: 操作,那么您所需要做的就是实现 -save:窗口 Controller 中的操作。由于窗口 Controller 位于应用程序委托(delegate)之前的响应者链中,因此将使用其方法的实现。

关于cocoa - 将 NSMenu 命令传输到当前窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6820722/

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