我需要从视频应用程序中的插件启动模态窗口。我在 Interface builder 中创建了一个 Nib 以及一个 NSWindowController 类。但是当我尝试像这样运行窗口时
Registration* newWin = [[Registration alloc] initWithWindowNibName:@"Options"];
[NSApp runModalForWindow: [newWin window]];
它在控制台中给我一个错误:Modal Session requires Modal Window 我认为这与 Interface Builder 有关(对不起,我对 IB 真的很陌生)。
这是指向 Nib 文件和类的链接。如果有人能告诉我我在 IB 中做错了什么,我将不胜感激。谢谢。
[链接已删除]
最佳答案
您在 nib 文件中实例化了 Registration
的实例。这不是您准备用于 NSWindowController
的 nib 文件的方式。 Registration
对象是包含在 nib 文件中的不同对象,而不是您在上面引用的代码中分配的 Registration
对象。
在传递给 initWithWindowNibName
的 nib 中,File's Owner
是您在代码中创建的 NSWindowController
实例.因此,在检查器中,将 File's Owner
的类名设置为 Registration
并将其 window
导出连接为您在nib 文件。
关于objective-c - 模态 session 需要 Mac 上的模态窗口错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4274275/