【问题标题】:What responder catches undo action?什么响应者捕获撤消操作?
【发布时间】:2013-02-26 20:48:21
【问题描述】:

我有一个处理撤消和重做的视图。对于特定状态,我将第一响应者从视图更改为视图的窗口。现在在这种状态下,我希望窗口委托中的 validateMenuItem: 方法检查撤消菜单项。

这在我关闭窗口时有效。但是当窗口可见时,其他一些响应者会处理撤消操作。

我猜它是窗口控制器?但由于这是一个非基于文档的应用程序,我还没有手动实现一个。我必须创建一个自定义窗口控制器吗?如果是这样,最简单的方法是什么?

【问题讨论】:

    标签: cocoa nswindowcontroller nsundomanager


    【解决方案1】:

    在这里找到答案:http://www.cocoabuilder.com/archive/cocoa/307917-validatemenuitem-not-called-for-undo-menu-item.html

    使用操作“撤消:”配置撤消菜单项告诉 这是 撤消菜单项的框架,因此它成为一个 在 NSWindow 中实现的标准撤消 UI 机制的元素。在下面 在这些情况下,菜单项(尤其是其验证) 不是你惹的祸。

    如果你想自己实现整个机制,那么你 应该对 Undo 菜单项使用自定义操作,例如“myUndo:”。 这意味着,据框架所知,您的应用程序没有 (标准)撤消,并且动作/验证应该正常工作 方式。

    【讨论】:

      猜你喜欢
      • 2012-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多