代码之家  ›  专栏  ›  技术社区  ›  Colas ma11hew28

将菜单项绑定到第一响应程序的属性

  •  2
  • Colas ma11hew28  · 技术社区  · 13 年前

    我有一个基于文档的应用程序。

    在我的文档类中,

    • 我有一处BOOL房产: isActionPossible .
    • 我还有一个IBAction: - (IBAction) doTheAction:(id)sender .

    现在,在 MainMenu.xib ,我想将菜单项连接到操作。 当您知道Interface Builder中的First Responder“代表”应用程序的活动文档时,这很容易。

    但是我该如何绑定可用性 (“启用属性”) 的BOOL属性 是否可能采取行动 活动文档的?

    事实上,在提议的名单中,没有“第一响应者”。

    1 回复  |  直到 13 年前
        1
  •  3
  •   CRD    12 年前

    两种选择:

    1. 您可以实现菜单验证,请参阅 Apple's docs 简而言之,在显示菜单之前,系统向处理动作的同一对象发送验证请求,该对象包括第一响应者。您只需在文档类中添加一个方法,该方法将返回 BOOL ; 就你而言 isActionPossible 所有物
    2. 使用 currentDocument 的财产 NSDocumentController 其返回与主窗口相关联的文档。然后可以使用绑定进行绑定 <Document Controller>.currentDocument.isActionPossible 。这种方法更通用,因为您可以将标签内容绑定到值等,也可以将其用于菜单绑定。