问题标签 [nstouchbar]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
434 浏览

xcode - TouchBar 不显示 NSViewController 故事板

我在 macOS 10.12.3 上使用 Xcode 8.2.1

我尝试使用我的 NSViewController 在 TouchBar 上显示元素,但我做不到...我刚刚将 TouchBar 元素拖放到我的 Storyboard 中的 NSViewController 元素上并添加了一个标签,但此标签未显示。

在此处输入图像描述

0 投票
2 回答
2380 浏览

macos - 如何让我的应用程序的触控栏在 macOS 上始终可见?

我正在制作一个显示全屏覆盖的 macOS 菜单栏应用程序。用户可以通过菜单栏中的滑块控制此叠加层的不透明度。我希望将这些控件移动到触摸栏,因为该应用程序用于屏幕录制,并且会记录主屏幕上的分心。我的应用程序中的滑块应该就像默认情况下触摸栏上的亮度和音量滑块一样。

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

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

  1. 将我的应用程序的图标添加到控制条,在亮度和音量图标旁边。这将让用户点击我的图标来调整不透明度,即使在其他应用程序被聚焦时也是如此。然而,奇怪的是,我被告知没有公共 API 来操作控制条

  2. 不知何故为我的用户提供了一种手动将我的应用程序添加到控制条的方法。可以通过 自定义控制条System Preferences > Keyboard > Customize Control Strip ...,其中显示了要拖放到控制条中的各种内容。我想将我的申请注册为要包含在此处的项目。但是,我找不到任何方法来做到这一点。

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

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

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

0 投票
1 回答
545 浏览

menu - 我无法在状态栏 macOS 应用程序中使用自定义触控栏

我有一个显示为状态栏应用程序的应用程序(在 Info.plist “应用程序是代理 (UIElement) = YES”中)。

我添加了一个带有 Interface Builder 的 TouchBar,并在其上添加了一些 Touch Bar Buttons 项目。问题是自定义触摸栏不显示。

为了使自定义触摸栏显示,我需要将主 WindowController 窗口设置为 Is Initial Controller 为真,不幸的是,通过这样做,应用程序还播种了一个单独的窗口,其内容与菜单项的弹出窗口相同。

有没有办法为状态栏 macOS 应用程序实现自定义触控栏?

在此处输入图像描述

0 投票
1 回答
318 浏览

swift - Implement TouchBar functionality in Xcode Playgrounds

How can I implement a NSTouchBar in using only Xcode Playgrounds? I realize that NSTouchBar, and its accompanying methods including makeTouchBar() are contained within the NSResponder class, which is the superclass of NSView, NSViewController, NSWindow, and SKView (a subclass of NSView.)

It is for this reason that I'm a little unsure how to approach access the TouchBar. There are so many subclasses of NSResponder I'm unsure as to which one is the correct one. And to my knowledge I cannot even access all of them, including the NSWindow for the Playground, which I suspect may be the one I need to access.

My current setup is:

And in checking the responder chain, for the SKView I get:

And for the SKScene:

For some reason, the SKScene and SKView are not within the same chain, and I can't seem to access any responder higher than the SKView. Is there a way to extend the functionality of the already existing NSWindow?

Another problem is that many tutorials on using the TouchBar require access to the AppDelegate, which I don't think I have in Xcode Storyboards.

Any help implementing the TouchBar in Storyboards would be greatly appreciated.

0 投票
1 回答
280 浏览

macos-sierra - 如何创建一个使用 Touch Bar 中剩余宽度的 NSTouchBarItem?

我正在尝试创建一个占用触控栏剩余空间的 NSButton。我的目标是在 Safari 中拥有一个类似于“搜索或输入网站名称”按钮的按钮。

我已经查看了使用 widthAnchor 设置约束,但我完全不知道如何正确设置它。

0 投票
1 回答
841 浏览

cocoa - 更新 Touch Bar 的退出键时如何防止此崩溃?

当最新的 MacBook Pro 推出时,我在我的应用程序中添加了 Touch Bar 支持。后来我做了各种小的改进,包括在有意义的地方自定义转义键。发布该更新后,当应用程序尝试更新转义键时,我开始收到崩溃报告。

这是一个例子:

为了简洁起见,我删除了大约 500 行——所有这些都是调用[NSApplicationFunctionRowController _updateEscapeKeyItem] + 438

这是另一个简短的报告。这是我最常见的崩溃。它实际上调用了我自己的代码,尽管我怀疑它调用的代码不是实际问题:

我的touchBar:makeItemForIdentifier:方法就是这样:

这里的cancelButtonItemWithIdentifier:,也很简单:

当然,我自己无法重现此崩溃。它发生在 macOS 10.12.2 到 10.12.5 的 beta 版本中。许多报告都来自我自己测试的同一个 13" 模型。少数在他们的崩溃报告中包含评论的人大多说它是在打开一个新窗口的操作之后立即发生的(因此更改了转义键) ——一个人说它发生在一个会关闭窗口的动作之后。一个人提到在崩溃前挂起 10 秒——考虑到对同一方法的 500 次调用,这是有道理的。有几个人不止一次提到它发生了,但是当然,他们没有留下任何联系信息,所以我没有办法跟进他们。

我知道我可以通过删除我的自定义转义键来解决崩溃问题,但我不想这样做。关于我如何处理这个问题的任何其他想法?

更新:自从最初发布此内容以来,我已经更新了应用程序以删除约束,因此我创建按钮的代码与现在一样简单:

不幸的是,我仍然收到来自新版本的崩溃报告,具有相同的堆栈跟踪。所以我认为问题不在于我提供的按钮。

0 投票
0 回答
280 浏览

swift - 向 Touch Bar 添加许多按钮

有没有人设法以水平样式滚动视图样式在 MacBook Pro 上的 TouchBar 上添加很多按钮?显然NSScrollView在 TouchBar 上实际上是支持的

从 Roman Roba 看来很有希望,但是我不能让 NSTouchBarButton 被接受到滚动视图中,只有标准的,所以它们不会从它继承。我的设置几乎与帖子相同:

在此处输入图像描述

0 投票
1 回答
274 浏览

swift - 如何删除在 Swift 中自动创建的触摸栏 AVPlayer

我正在编写一个 mac 应用程序,我想支持触摸栏。我有一个分屏控制器,其中一个视图是 AVPlayer。AVPlayer 自动创建了用于暂停和播放等的触摸栏按钮。如何删除自动创建的触摸栏?或者有没有办法禁用视图控制器的触摸栏?我想在窗口控制器中为窗口添加一个触摸栏,目前它被 AVPlayer 自动创建的触摸栏覆盖。

0 投票
2 回答
151 浏览

swift - 我可以在我的应用程序中使用系统触控栏图标吗?

我正在尝试将我的应用程序的“新建”按钮和“搜索”按钮添加到触控栏上。在系统应用程序中,它们分别是加号和放大镜。有没有办法在我的触摸栏按钮上使用这些系统图标,例如在 UIBarButtonItems 中?如果不是,如何将触摸栏按钮的内容设置为放大镜或加号?我正在使用斯威夫特。谢谢。

0 投票
1 回答
119 浏览

macos - 摆脱 NSTouchBar 上的图标

我正在为我的应用程序创建一个 NSTouchBar。当栏显示时,我在左侧看到这个 ESC 图标,在右侧看到这些其他图标:

在此处输入图像描述

有没有办法摆脱它们并拥有完整的酒吧区?