我正在开发一个标记为 LSUIElement 的应用程序,它的主窗口是一个“附加”到状态栏的 NSPanel。有时我需要显示一个正常的警报面板(使用 NSRunAlertPanel 或 NSAlert)。但是,面板始终显示在用户当前所在的空间上是非常重要的(否则用户可能不会立即看到它,而他看到这一点很重要)。
问题是警报总是显示在用户上次与应用程序窗口交互的空间上,而不是当前空间上。因此,例如,如果在 1 号空间我打开和关闭我的应用程序的 NSPanel,然后我移动到 2 号空间,一段时间后我的应用程序显示一个警报,该警报将显示在 1 号空间,而不是 2 号空间。因此在我决定切换到第一个空间之前,我(或普通用户)不会看到警报。
有什么方法可以改变这种行为(= 总是在当前空间显示警报)?