使用带有几个NSViewControllers的工具栏

时间:2011-06-26 20:16:22

标签: objective-c cocoa nsviewcontroller nstoolbar nstoolbaritem

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

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

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

1 个答案:

答案 0 :(得分:1)

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

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