【问题标题】:NSToolbar and view controller hierarchyNSToolbar 和视图控制器层次结构
【发布时间】:2012-01-17 00:35:38
【问题描述】:

我有以下类层次结构:

NSViewController
  MyGeneralViewController
    ViewControllerA
    ViewControllerB

MyGeneralViewController 包含ViewControllerAViewControllerB 使用的一些通用代码。一段通用代码是创建NSToolbar 并为NSToolbarDelegate 实现必要的协议方法。

工具栏中的一个按钮是允许用户在单独的窗口中打开NSTextView 的按钮(更多空间、用于处理关键字的附加功能等)。

方法是:

- (IBAction) openTextWindow: (id) sender {

    [self setTextWindowController: [[TextWindowController alloc] init]];
    [[self textWindowController] showWindow];

}

此工具栏按钮应仅可用于由ViewControllerA 控制的视图。我的理由是,如果我只为ViewControllerA 实现openTextWindow 方法,则工具栏按钮对于ViewControllerB 控制的视图将变为灰色(不可用),因为运行时系统将向上查找类层次结构为工具栏按钮定义的方法,但找不到它。

似乎并非如此。当我使用MyGeneralViewController 实现该方法时,该按钮始终可用(如预期的那样,但不是我想要的)。但是当我只为ViewControllerA 实现它时,它永远不可用。

我是否遗漏了什么,或者这是它应该工作的方式?

【问题讨论】:

    标签: cocoa nsviewcontroller nstoolbar


    【解决方案1】:

    很奇怪。离开这里一段时间后,我决定再试一次。清理完项目后,一切都按预期工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-16
      • 2013-04-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多