簡體   English   中英

是否可以以編程方式隱藏停靠欄圖標

[英]Is it possible to hide the dock icon programmatically

是否可以按需以編程方式隱藏停靠欄圖標。 我知道在 plist 中定義屬性“應用程序是代理(UIElement)”的一種方法,我們將可可應用程序作為用戶代理。 但這會導致永久隱藏停靠欄圖標。

我正在尋找一種可以控制停靠欄圖標可見性的方法。 任何的想法 ?

不幸的是沒有。 您可以使用TransformProcessType()函數將僅后台應用程序轉換為前台應用程序,但您無法從前台應用程序轉換為后台應用程序。

以下是從背景到前景的方法:

ProcessSerialNumber psn = { 0, kCurrentProcess }; 
OSStatus returnCode = TransformProcessType(&psn, kProcessTransformToForegroundApplication);
if( returnCode != 0) {
    NSLog(@"Could not bring the application to front. Error %d", returnCode);
}

有可能的。 但是,它也隱藏了菜單。

NSApplication.shared.setActivationPolicy(.accessory)
DispatchQueue.main.async {
    NSApplication.shared.activate(ignoringOtherApps: true)
    NSApplication.shared.windows.first!.makeKeyAndOrderFront(self)
}

然后回來:

NSApplication.shared.setActivationPolicy(.regular)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM