gpt4 book ai didi

objective-c - NSRunAlertPanel 是否在任何空间上显示警报? - Objective-C/10.7+

转载 作者:行者123 更新时间:2023-12-03 17:41:23 25 4
gpt4 key购买 nike

我正在开发一个标记为 LSUIElement 的应用程序,其主窗口是一个“附加”到状态栏的 NSPanel。有时我需要显示一个普通的警报面板(通过使用 NSRunAlertPanel 或 NSAlert)。但是,面板始终显示在用户当前所在的空间上非常重要(否则用户可能不会立即看到它,但他这样做很重要)。

问题是警报始终显示在用户上次与应用程序窗口交互的空间上,而不是当前空间上。因此,例如,如果在 1 号空间上我打开并关闭应用程序的 NSPanel,然后我移动到 2 号空间,一段时间后我的应用程序会显示一条警报,该警报将显示在 1 号空间上,而不是 2 号空间上。因此在我决定切换到第一个空间之前,我(或一般用户)不会看到警报。

有什么方法可以改变这种行为(=使警报始终显示在当前空间上)?

最佳答案

不完全是您所要求的,但也许在显示警报窗口之前,使用setCollectionBehavior:将其集合行为设置为NSWindowCollectionBehaviorCanJoinAllSpaces。然后该窗口应该出现在所有空间上,其中包括当前的空间...

关于objective-c - NSRunAlertPanel 是否在任何空间上显示警报? - Objective-C/10.7+,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13103832/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com