目前我正在开发一个Cocoa应用程序,它由一个主NSWindowController
构成,其中显示所有应用程序数据,其他一些NSWindowControllers
将出现,就像一个处方集,当用户需要编辑或向主NSWindowController
窗口添加更多数据。
我的问题是,当我需要在这些处方集中添加或编辑数据时,主NSWindowController
无法进行任何类型的用户互动,以防止主NSWindowController
的任何更改显示的信息。
我已经尝试了-(void)setIgnoresMouseEvents:(BOOL)flag
但是这个解决方案使得主要的NSWindowController对交互完全透明,任何意外点击,都会与下面的任何窗口进行交互,从而隐藏应用程序。
有谁知道更好的解决方案?
答案 0 :(得分:2)
我终于找到了我想要的东西:
[NSApp runModalForWindow:(NSWindow *)aWindow];
通过这种方式,我可以阻止与母窗口的任何交互,直到我关闭子窗口并执行:
[NSApp stopModal];
以便它再次变为活跃状态。