【问题标题】:Accessing menu items from view controller in a storyboard, OS X, swift从情节提要,OS X,swift中的视图控制器访问菜单项
【发布时间】:2015-06-02 20:23:56
【问题描述】:

我正在使用情节提要在 Xcode 中构建一个 OS X 应用程序。我发现使用菜单项既困难又不直观。菜单项与视图控制器位于不同的场景(应用程序)中,并且无法通过通常的控制拖动方法连接到视图控制器以创建出口/动作。我需要从主视图控制器访问菜单项。我已经想出了如何通过第一响应者链连接动作。但是,我也想从视图控制器启用/禁用菜单项,但我认为没有办法创建一个能够做到这一点的插座。

我是 OS X 编程的新手。我觉得我在这里遗漏了一些非常基本的东西。我看过几个与故事板相关的 WWDC 视频,但没有看到一个很好的例子来展示使用菜单的正确方法。任何帮助将不胜感激。

【问题讨论】:

    标签: macos swift xcode-storyboard


    【解决方案1】:

    有多种使用菜单的方法。传统的 Cocoa 方式是在 IB 中向 First Responder 代理添加一个 action 方法。

    然后在 NSResponder 子类中充实您想要的相同操作方法。也在标题中声明它。

    然后这将通过响应者链接收操作消息。

    阅读响应者链。

    【讨论】:

    • 我确实在第一响应者链中连接了动作。但我相信我需要连接一个插座才能设置菜单项属性,例如从我的视图控制器启用/禁用。
    • 这通常也通过 NSUserIntefaceValidations developer.apple.com/library/mac/documentation/Cocoa/Conceptual/… 间接完成
    • 这意味着你在响应者中实现了一个方法来验证一个接口项。如果您的响应者不存在,则其行为无效。
    • 行得通!非常感谢。我在链接中找到了菜单编程指南,它解释了一切。
    猜你喜欢
    • 2014-02-17
    • 2013-05-23
    • 2018-05-18
    • 2015-07-05
    • 1970-01-01
    • 2013-10-21
    • 1970-01-01
    • 1970-01-01
    • 2017-07-08
    相关资源
    最近更新 更多