gpt4 book ai didi

macos - 如何使应用程序的触摸栏在 macOS 上始终可见?

转载 作者:行者123 更新时间:2023-12-02 11:02:40 25 4
gpt4 key购买 nike

我正在制作a macOS menu bar application显示全屏覆盖。用户可以通过菜单栏中的 slider 控制该叠加层的不透明度。我希望将这些控件移至触摸栏,因为该应用程序用于屏幕录制,并且会记录主屏幕上的干扰。我的应用程序中的 slider 应该像默认情况下触摸栏上的亮度和音量 slider 一样工作。

我通过子类化 NSApplication 并实现 makeTouchBar 添加了我的 NSTouchBar。该栏在应用程序首次启动时出现。但是,当聚焦任何其他应用程序时,触摸栏就会消失,并且似乎无法再次显示我的应用程序的触摸栏。我认为问题在于我的应用程序是一个没有窗口的纯菜单栏应用程序。

以下是我可以使应用程序的触摸栏可见的方法,从最优选到最不优选:

  1. 将我的应用程序的图标添加到控制条中,位于亮度和音量图标旁边。这将让用户点击我的图标来调整不透明度,即使其他应用程序处于焦点状态也是如此。然而,奇怪的是,I am told that there is no public API to manipulate the control strip .

  2. 以某种方式为我的用户提供一种将我的应用程序手动添加到控制条的方法。控制条可以通过系统偏好设置>键盘>自定义控制条...进行自定义,它显示了可以拖放到控制条中的各种内容。我想将我的申请注册为包含在此处的项目。但是,我找不到任何方法来做到这一点。

  3. 将我的应用程序注册为音乐应用程序。我机器上的 Spotify 以某种方式使用控制条中的“音乐”图标(与 iTunes 使用的图标相同)。我不知道 Spotify 是如何做到这一点的 - 还有其他人知道吗?显然,这将是一种黑客行为,因为我的应用程序不播放音频,但总比没有好。

  4. 以某种方式覆盖应用程序区域,以便我的应用程序的触摸栏始终可见,从而破坏所有其他应用程序对触摸栏的使用。这显然并不理想,因为它与其他应用程序不能很好地配合。

这些解决方案是否可行?还有其他可能的解决方案吗?如何使我的应用程序的触摸栏始终可通过触摸栏访问?

最佳答案

也许有一些 hacky 解决方案,但根据官方文档你不能这样做: https://developer.apple.com/reference/appkit/nstouchbar

On supported MacBook Pro models, the Touch Bar, above the keyboard, shows instances of the NSTouch​Bar class from the front-most app.

关于macos - 如何使应用程序的触摸栏在 macOS 上始终可见?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42878676/

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