我只在Safari中遇到此问题,适用于Mac OS 10.6和10.7上的Firefox和Chrome.
NSApplication runModalForWindow运行一个事件循环,并应显示创建为前窗的窗口.我有一个事件处理程序来处理插件的窗口焦点更改,当NSApplication处于非活动状态并且焦点丢失时,它会隐藏窗口(和其他窗口).
有没有办法我可以要求最前面的窗口或询问NSWindow它是否是最前面的?
我已经定义了一个Cocoa窗口控制器来覆盖window:willPositionSheet的方法,但是当对话框打开时它不会被调用.
- (NSRect)window:(NSWindow *)window willPositionSheet:(NSWindow *)sheet usingRect:(NSRect)rect
{
return rect;
}
Run Code Online (Sandbox Code Playgroud)
一个重要的事实是,对话框是一个工作表,父窗口是在创建工作表对话框时作为Cocoa引用传递的Carbon窗口.
有任何想法吗?
提前致谢