【问题标题】:Using toolbar with several NSViewControllers使用带有多个 NSViewController 的工具栏
【发布时间】:2023-03-20 17:26:01
【问题描述】:

我有一个基于文档的单窗口应用程序,它加载了几个用作主视图的 NSViewController。每个视图控制器都是一个自包含的类,用于处理某些业务需求,因此实现了工作所需的所有方法。

我的问题是如何在加载特定视图控制器时使工具栏工作。只要这些是在窗口类中实现的,我就可以将工具栏连接到委托,并将工具栏项连接到操作。但是,如果我尝试在视图的 loadView 方法上为工具栏项设置新操作,工具栏项会忽略它并继续在主窗口类上调用该方法。

那么,如何动态更改工具栏项上的操作?

【问题讨论】:

  • 您使用什么代码“为工具栏项设置新操作”?你也在设定目标吗?视图控制器是否在动作响应链中?

标签: objective-c cocoa nsviewcontroller nstoolbar nstoolbaritem


【解决方案1】:

你也在设定目标吗? (即[foo setTarget:]除了[foo setAction:]

大概你的窗口控制器有某种currentViewController ivar/property?切换视图控制器时最好不要重新分配工具栏操作,而是使用窗口控制器将它们传递给当前活动的视图控制器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-09
    • 1970-01-01
    相关资源
    最近更新 更多