此时我正在开发一个 Cocoa 应用程序,它由一个主 NSWindowController
组成。 ,其中显示了所有应用程序数据和其他一些数据 NSWindowControllers
当用户需要编辑或添加更多数据到主NSWindowController
时,它会像处方集一样出现。窗口。
我的问题是,当我需要在这些公式中添加或编辑数据时,主要 NSWindowController
不能进行任何类型的用户交互,以防止主体发生任何更改NSWindowController
的显示信息。
我已经尝试过-(void)setIgnoresMouseEvents:(BOOL)flag
但是这个解决方案使得主 NSWindowController 对交互完全透明,任何意外的点击都会与下面的任何窗口交互,从而隐藏应用程序。
有谁知道更好的解决方案吗?
最佳答案
我终于找到了我要找的东西:
[NSApp runModalForWindow:(NSWindow *)aWindow];
通过这种方式,我可以阻止与母窗口的任何交互,直到我关闭子窗口并执行以下操作:
[NSApp stopModal];
以便它再次激活。
关于cocoa - NSWindow 忽略鼠标/键盘事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12677976/