繁体   English   中英

如何在不关注macOS的情况下显示窗口?

[英]How to show a window without stealing focus on macOS?

我想知道如何聚焦浮动焦点,另一个窗口仍然有焦点!

在此输入图像描述

我可以轻松地将窗口浮动到窗口上的所有其他窗口window?.level = Int(CGWindowLevelForKey(.maximumWindow)) ,但我不能让两个窗口都有焦点,帮助!

在Cocoa中是否有像ShowWithoutActivating这样的函数?

我一直在玩这个,当最前面的窗口不是与最前面的应用程序相同的进程时,我似乎能够产生这种效果,这是我怀疑Spotlight可能正在做的事情。 我可以这样做:

  1. 在我的应用程序的Info.plist中将LSUIElement设置为YES。

  2. 在Interface Builder中,将窗口的类设置为NSPanel,在Attributes Inspector中选中“Non Activating”,并在Identity Inspector下的User Defined Runtime Attributes中将“isFloatingPanel”设置为YES。

  3. 在一段时间内,其他一些应用程序就在前面(我只用了5秒的时间让自己有时间将一些其他应用程序弹到前面并选择一个文本字段),在窗口上调用makeKeyAndOrderFront()后跟orderFrontRegardless()

当我这样做时,我得到以下内容(注意焦点环仍然在Xcode的“模块”字段上绘制):

在此输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM