Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Cocoa的其他应用程序中限制窗口位置?_Cocoa_Window_Screen Positioning - Fatal编程技术网

在Cocoa的其他应用程序中限制窗口位置?

在Cocoa的其他应用程序中限制窗口位置?,cocoa,window,screen-positioning,Cocoa,Window,Screen Positioning,我对可可的开发还比较陌生。我正在开发雪豹。我心中有一个场景,我很好奇API是否支持它。我找不到关于它的任何东西,所以我认为这是不可能的。但我很高兴被证明是错的 假设我编写了一个位于屏幕顶部菜单栏下方的应用程序。窗户是浮动的,所以它总是在上面。这可能很烦人,所以我想到的一件事是限制其他窗口(特别是其他应用程序中的窗口),使它们位于我的应用程序下方。API中是否有允许我这样做的内容?要为所有窗口(我的窗口除外)指定最大原点吗 谢谢。我不认为你能做到这一点,你看,基于窗口的用户界面的一个很酷的事情就是

我对可可的开发还比较陌生。我正在开发雪豹。我心中有一个场景,我很好奇API是否支持它。我找不到关于它的任何东西,所以我认为这是不可能的。但我很高兴被证明是错的

假设我编写了一个位于屏幕顶部菜单栏下方的应用程序。窗户是浮动的,所以它总是在上面。这可能很烦人,所以我想到的一件事是限制其他窗口(特别是其他应用程序中的窗口),使它们位于我的应用程序下方。API中是否有允许我这样做的内容?要为所有窗口(我的窗口除外)指定最大原点吗


谢谢。

我不认为你能做到这一点,你看,基于窗口的用户界面的一个很酷的事情就是你可以在桌面上堆叠窗口


现在,您可以使用NSScreenSaverIndowLevel作为NSWindow级别,创建一个始终位于顶部的窗口。你可以做的一个很好的技巧是[window setLevel:NSScreenSaverWindowLevel+1],它将你的窗口设置在屏保级别之上。

我认为你做不到这一点,你看,基于窗口的UI的一个很酷的事情是你可以将窗口堆叠在其他窗口之上,在桌面上


现在,您可以使用NSScreenSaverIndowLevel作为NSWindow级别,创建一个始终位于顶部的窗口。一个很好的技巧是[window setLevel:NSScreenSaverWindowLevel+1],它将您的窗口设置在屏幕保护程序级别之上。

没有真正受支持的方法来实现这一点。您可以使用。您必须注意窗口移动通知,并将窗口推回可视区域。

没有真正受支持的方法来执行此操作。您可以使用。你必须注意窗口移动通知,然后将窗口推回可视区域。

我最后联系了苹果公司,他们也说了同样的话。使用可访问性API。作为那些考虑类似问题的人的注意事项,可访问性API可以在系统首选项中禁用,因此这不是一个通用的解决方案。显然有一种使用AppleScript的方法,但我并没有详细研究过。建议使用辅助功能API作为更好的选项。@user812376:没问题。关于AppleScript:它可以用来移动窗口,但是很抱歉,没有实用的方法可以通过观察其他应用程序的窗口来知道何时移动它们。据我所知,观看其他应用程序窗口的唯一选择就是访问和入侵窗口服务器。我最后联系了苹果公司,他们也说了同样的话。使用可访问性API。作为那些考虑类似问题的人的注意事项,可访问性API可以在系统首选项中禁用,因此这不是一个通用的解决方案。显然有一种使用AppleScript的方法,但我并没有详细研究过。建议使用辅助功能API作为更好的选项。@user812376:没问题。关于AppleScript:它可以用来移动窗口,但是很抱歉,没有实用的方法可以通过观察其他应用程序的窗口来知道何时移动它们。我所知道的监视其他应用程序窗口的唯一选项是可访问性和入侵窗口服务器。