【问题标题】:Writing app with multiple panels for OS X为 OS X 编写具有多个面板的应用程序
【发布时间】:2019-04-26 04:44:34
【问题描述】:

我有一个常规的 OS X 应用程序(不是基于文档的),它可以打开图像并在单独的视图中显示一些额外的数据。 我想重构同一个应用程序,以便它使用单独的面板(或窗口)而不是每个视图。 面板应该有标题和常用的窗口控件。 我不希望这是一个基于文档的应用程序。 怎么办?

更新:我就是这样做的

- (void)applicationWillFinishLaunching:(NSNotification *)aNotification{

self.pwc=[[SomeWindowController alloc]initWithWindowNibName:@"SomeWindowController"];
[self.pwc showWindow:self.pwc];

SomeWindowController 派生自 NSWindowController

在最后一行,应用程序崩溃了。那么部署额外窗口的正确方法是什么?

【问题讨论】:

  • 阅读 NSWindowController 的文档。
  • 如何创建窗口和视图?
  • 根据我在网上找到的:所有视图的窗口都在 .xib 文件中定义。我在 AppDelegate::applicationWillFinishLaunching 中实例化它,然后我不知道如何正确呈现它。我更新了问题正文以获取更多详细信息。

标签: objective-c macos cocoa nswindow nswindowcontroller


【解决方案1】:

我找到了崩溃的原因。该窗口包含 QLCompactPreview 对象,并且在初始化过程中失败。 当我删除预览时,新窗口出现了。

【讨论】:

    猜你喜欢
    • 2012-03-16
    • 2016-02-11
    • 1970-01-01
    • 1970-01-01
    • 2016-10-11
    • 1970-01-01
    • 2013-08-27
    • 2012-06-18
    • 1970-01-01
    相关资源
    最近更新 更多