强制应用程序在特定位置的主监视器上启动

Forcing the application to launch on the main monitor on a specific position

因为这个应用程序使用计算机摄像头跟踪用户,所以我需要它始终在主显示器上启动,摄像头位于 (iMac/Macbook) 的位置,位于屏幕顶部的水平中心。像这样:

我知道如何让它在顶部启动并水平居中,但我的问题是,如果用户通过单击辅助监视器上的文档或从辅助监视器上的查找器中双击它来启动应用程序,应用程序将启动并粘在辅助显示器的顶部。我需要它去带摄像头的显示器,那是主屏幕。

有办法吗?

您可以子类化 NSWindow 并覆盖 constrainFrameRect:toScreen: 请参考https://developer.apple.com/library/mac/documentation/Cocoa/Reference/ApplicationKit/Classes/NSWindow_Class/index.html#//apple_ref/occ/instm/NSWindow/constrainFrameRect:toScreen: