Objective c 如何了解cocoa中的聚焦窗口,以及如何将其设置为所需的窗口。?

Objective c 如何了解cocoa中的聚焦窗口,以及如何将其设置为所需的窗口。?,objective-c,macos,cocoa,nswindow,nswindowcontroller,Objective C,Macos,Cocoa,Nswindow,Nswindowcontroller,我是cocoa mac开发的新手,现在我正在开发一个mac应用程序,在某个特定的时间之后,它会有几个服务器被点击。如果命中得到了所需的数据,那么我需要显示等效窗口,并使用[myWindow showWindow:self]方法显示我正在使用的窗口。它显示所需的窗口,并将关键窗口设置为“我的可见窗口”即“我的窗口” 到目前为止,一切都很好,但问题是,假设当用户开始在任何窗口上工作并打开其他几个子窗口时,不幸的是,我的show窗口被调用,我的工作窗口的焦点转移到其他窗口 经过几次搜索,我发现我可以通

我是cocoa mac开发的新手,现在我正在开发一个mac应用程序,在某个特定的时间之后,它会有几个服务器被点击。如果命中得到了所需的数据,那么我需要显示等效窗口,并使用[myWindow showWindow:self]方法显示我正在使用的窗口。它显示所需的窗口,并将关键窗口设置为“我的可见窗口”即“我的窗口”

到目前为止,一切都很好,但问题是,假设当用户开始在任何窗口上工作并打开其他几个子窗口时,不幸的是,我的show窗口被调用,我的工作窗口的焦点转移到其他窗口

经过几次搜索,我发现我可以通过访问[[NSApplication sharedApplication]keyWindow]委托]获得聚焦窗口,我应用了几个条件,即当我的this和this窗口位于key window上时,不点击服务器

但问题并没有得到解决。现在我认为将keyWindow设置为我当前的工作窗口将是最好的选择

请建议我可以做什么,以及如何将窗口强制设置为关键窗口

任何帮助都将不胜感激。
提前感谢。

如果我正确理解了您的问题,您希望在接收到服务器输入但未在当前主窗口或关键窗口前移动窗口的情况下向前移动窗口

您正在使用的方法,
showWindow:
,属于
NSWindowController
,同时显示窗口并使其成为键

您需要了解的是用于管理窗口级别的
NSWindow
方法,
orderFront:

特别是,您可能希望使用
orderWindow:relativeTo:
,它允许将一个窗口放在另一个窗口的前面/后面。例如:

[<window> orderWindow:NSWindowBelow
           relativeTo:NSApp.keyWindow.windowNumber];
[订单窗口:NSWindow如下]
relativeTo:NSApp.keyWindow.windowNumber];
将窗口移动到当前关键点窗口的正后方,并移动到关键点窗口后面的任何其他窗口的正前方


HTH

我可以知道投票被否决的原因吗。