使 Mac 弹出窗口出现在应用程序区域内

Making a Mac Popover appear inside the app's area

我的应用程序没有填满整个屏幕。它是一个矩形,比方说,1000x500 像素。当应用程序位于屏幕中间并且我显示弹出窗口时,它看起来像这样:

有什么丑的,半个popover都在app区外

但是如果应用程序靠近屏幕的左边缘,它就会按照我想要的方式显示,如下所示:

漂亮的是,应用程序区域内包含所有弹出窗口。

有没有办法强制弹出框始终像第二种情况一样出现在应用程序区域内?

据我所知,您几乎无法控制弹出框的显示方式。 Apple 保留更改弹出窗口显示方式的权利,如果您完全控制,这是不可能的。您可以定义首选边缘和首选宽度,几乎所有其他内容都取决于系统。如果你需要更多的控制权,你需要自己绘制整个东西(这是可能的,只是需要大量的工作)或者使用一些第三方框架。