2

此时我正在开发一个由 main 组成的 Cocoa 应用程序,NSWindowController其中显示了所有应用程序数据以及一些其他数据NSWindowControllers,例如公式,当用户需要编辑或向主NSWindowController窗口添加更多数据时.

我的问题是,当我需要在这些公式中添加或编辑数据时,mainNSWindowController不能有任何类型的用户交互,以防止 mainNSWindowController显示的信息发生任何变化。

我已经尝试过-(void)setIgnoresMouseEvents:(BOOL)flag,但是这个解决方案使主 NSWindowController 对交互完全透明,使任何意外点击,与任何窗口交互,从而隐藏应用程序。

有谁知道更好的解决方案?

4

1 回答 1

2

我终于找到了我想要的东西:

[NSApp runModalForWindow:(NSWindow *)aWindow];

这样,我可以阻止与母窗口的任何交互,直到我关闭子窗口并执行以下操作:

[NSApp stopModal]; 

使它再次变得活跃。

于 2012-10-02T10:14:13.860 回答