gpt4 book ai didi

macos - 隐藏 Dock 图标而不关闭窗口

转载 作者:行者123 更新时间:2023-12-03 16:11:58 31 4
gpt4 key购买 nike

我正在创建一个应用程序,我想让用户能够在运行时显示或隐藏停靠图标。我有一个带有复选框的首选项窗口,用于设置用户默认值,这会使用 KVO 触发以下代码:

if (!hideDockIcon) {
TransformProcessType(&psn, kProcessTransformToForegroundApplication);
} else {
TransformProcessType(&psn, kProcessTransformToUIElementApplication);
}

这有效,但是隐藏时,首选项窗口会直接关闭(这很有意义,因为它现在是后台应用程序)。然而,我注意到 MS 的 SkyDrive 客户端设法隐藏图标,同时保持首选项窗口打开。我一直无法找出如何做到这一点,有人有想法吗?

我还尝试使用 [NSApp setActivationPolicy: NSApplicationActivationPolicyRegular]NSApplicationActivationPolicyAccessory/NSApplicationActivationPolicyProhibited 但这对我不起作用; Accessory 不会隐藏停靠图标,Prohibited 也会关闭窗口,并且似乎使 [NSApp activateIgnoringOtherApps:YES] 被忽略。

最佳答案

我偶然发现this thread建议使用以下方法来防止隐藏窗口:

[window setCanHide:NO];

这仅涵盖隐藏。如果您的窗口关闭,您可能会尝试使用窗口委托(delegate)?有一个调用可以让您阻止窗口关闭

- (BOOL)windowShouldClose:(id)sender

关于macos - 隐藏 Dock 图标而不关闭窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13379541/

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