【问题标题】:How to close a window (unload a NIB)?如何关闭窗口(卸载 NIB)?
【发布时间】:2010-04-15 19:55:15
【问题描述】:

我有一个自定义的 NSWindowController 子类,它在初始化期间加载一个 NIB 文件,如下所示:

self = [super initWithNibNamed:@"myNib"];
if (self != nil) {
    [self window];
}

笔尖包含一些自定义视图和一些其他控件。 NSWindowController 是文件的所有者,并且至少有一个视图绑定到它。

简单地说,我需要做什么才能关闭和释放那个窗口?我花了一整天的时间试图弄清楚这一点,但我仍然一无所知。

【问题讨论】:

    标签: cocoa nib nswindowcontroller


    【解决方案1】:

    感谢@peter hosey。

    [self close]; // will work only if your nib is wired up correctly.
    

    打开文件的笔尖。在窗口上,您需要将窗口的“引用插座”连接到“文件所有者”并选择窗口。否则什么都做不了。

    【讨论】:

    • 感谢@John Ballinger!你救了我两天!!!您添加的正确设置笔尖是线索。
    • 绝对是“为什么不关闭工作?!?!”的快速解决方案
    【解决方案2】:

    您不会卸下笔尖; “加载”它只是取消归档其中归档的对象。这不是无限期持续的状态。这是一个瞬间的动作。取消归档对象后,无论它来自何处都无关紧要。

    如果你不在窗口控制器中,那么:

    但由于您在窗口控制器中,所以只需 send yourself a close message

    另请参阅基于文档的应用程序概述中的“Window Closing Behavior”(基于文档的应用程序是窗口控制器的主要用户)。

    【讨论】:

      猜你喜欢
      • 2012-09-24
      • 1970-01-01
      • 2014-11-29
      • 2011-03-08
      • 1970-01-01
      • 1970-01-01
      • 2013-11-17
      • 1970-01-01
      • 2011-04-16
      相关资源
      最近更新 更多