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