【问题标题】:Manually open a NSWindow from a Storyboard从 Storyboard 手动打开 NSWindow
【发布时间】:2015-01-23 13:33:54
【问题描述】:

对于 OSX 应用程序,我在情节提要中有 UI,初始控制器是 NSWindowController,并附加了 NSWindow。当窗口自动打开时它工作得很好,但我不能让它手动工作,这是需要的,因为窗口应该只基于人工交互打开。

NSStoryboard *storyboard = [NSStoryboard storyboardWithName:@"Main" bundle:[NSBundle mainBundle]];

NSWindowController *vc = [storyboard instantiateInitialController];

NSWindowController *windowController = [[NSWindowController alloc] initWithWindow:vc.window];
[windowController showWindow:nil];
[windowController.window makeKeyAndOrderFront:self];
[windowController.window makeMainWindow];

[NSApp activateIgnoringOtherApps:YES];

在另一个项目中,当视图控制器是一个单独的 XIB 文件时,它似乎可以工作,但在这种情况下,它不会。我确实看到一个空的矩形窗口短暂出现,所以发生了一些事情。关于如何让它发挥作用的任何想法?

【问题讨论】:

    标签: objective-c macos nswindow


    【解决方案1】:

    这里你的 windowController 对象是 selecor 的本地对象,当包含代码的选择器返回时,它会被释放。

    制作windowController,包含此代码的对象的属性。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-04-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多