问题标签 [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 回答
274 浏览

cocoa - NSTouchBar:如何用“完成”按钮替换“Esc”

AddressBook 应用程序如何呈现 Done 而不是 Esc 就像屏幕截图一样?

地址簿触控栏

文档指出系统提供按钮取决于上下文。我如何定义该上下文?

0 投票
1 回答
837 浏览

objective-c - 如何从 NSWindow 对象创建 NSTouchBar?

我正在尝试将触摸栏支持与 SDL 应用程序集成。

我已经进入了 SDL 中的目标 c 代码并直接侵入了 SDLView 代码并获得了一个可以工作的触摸栏,但现在我想获得与股票 SDL2 库相同的功能。SDL 公开了它创建的 NSWindow 对象,我想我可以创建一个实现了 makeTouchBar 和 makeItemForIdentifier 的响应者对象,但我不知道如何将它“附加”到窗口。我认为这将是一个“响应者链”,但我真的不知道这意味着什么或如何去做。

我已经尝试创建以下内容并在窗口上尝试了一些不同的 setNextResponder 组合,但似乎无法找出正确的组合来调用 makeTouchBar,但我在正确的范围内,因为当我放置这些时它可以工作方法直接在视图上。

谢谢你。

0 投票
1 回答
298 浏览

objective-c - 如何从 NSResponder 显式发送键值观​​察通知?

我正在尝试在 SDL 应用程序中创建一个 NSTouchBar,我需要将一个响应程序附加到 NSWindow 对象(这是 SDL 提供给 Cocoa 窗口系统的唯一访问权限)。

https://developer.apple.com/reference/appkit/nstouchbar

如果在对象中显式采用 NSTouchBarProvider 协议,则 还必须在 NSTouchBar 方法中显式发送关联的键值观察通知;这使系统可以对条形图的变化做出适当的响应。

这是什么意思,我该怎么做?我看到很多关于如何订阅通知的文档,但没有看到如何发送它们?

现在我有:

我用我在这里问过的上一个问题的代码将它附加到窗口:如何从 NSWindow 对象创建 NSTouchBar?

但我的回调从未被调用过(我把exit(0)它们放进去让它非常明显)。当我将代码直接破解到 SDL 库中时,一切正常,但这不是一个可行的永久解决方案。

谢谢你。

0 投票
1 回答
384 浏览

objective-c - 在创建没有特定 NSTouchBar 支持的情况下,我可以将 NSTouchBar 附加到 NSWindow 吗?

我正在使用 SDL 创建一个用于 OpenGL 的窗口,它返回的唯一信息是 NSWindow 对象。

我可以使用它随后将 NSTouchBar 与该窗口相关联吗?

我通过直接修改 SDL 代码以在 ViewController 中完成它成功地完成了它,但是作为库 API 的用户,我无法使用该选项。

我以前认为我可以与客户 NSResponder 一起这样做,但我不再相信这是一个有效的选择。

谢谢你。

0 投票
2 回答
2666 浏览

swift - 即时更新 NSTouchBar 以编程方式添加/删除项目

我目前正在为我的 macOS 应用程序实现 NSTouchBar api。

此时,我唯一拥有的触摸栏将主视图控制器作为其委托,我可以向其添加项目。问题是,我需要其中一些项目仅在满足特定条件时出现(在表格中选择了一行)。

考虑我有一个布尔值,指示按钮是否应该可见。如果我的布尔值发生变化,如何即时更新 NSTouchBar 以显示/隐藏此按钮?(我不需要观察这个布尔值,我可以简单地用我已经实现的另一种方法调用更新)

我现在所做的如下:在 中touchBar(:makeItemForIdentifier),我有一个用于所有标识符的开关,在正确的 下case,我要么NSCustomTouchBarItem使用按钮返回 ,要么nil如果我的布尔值是false

在选择了表格的一行后,我尝试makeTouchBar再次调用,但它不会更新按钮的可见性,就好像touchBar(:makeItemForIdentifier)没有再次调用一样。

谢谢!

0 投票
0 回答
487 浏览

objective-c - NSTouchBar 委托从未被调用

我正在尝试扩展支持触摸栏的应用程序,但从未调用过触摸栏委托方法。:

这是我的视图控制器的代码

0 投票
1 回答
609 浏览

swift - 如何拥有一个只有图像的触控栏按钮?

将触摸栏按钮添加到 macOS 的触摸栏中,图像大小为 80x60,最终如下所示:

带按钮的触控栏

该按钮已缩放为 40x30,但不是由图像填充的按钮,而是按钮侧面的左/右填充。是否可以在没有填充的情况下拥有触摸栏按钮的实际大小?

0 投票
1 回答
781 浏览

swift - 验证 NSTouchBar 项目的最佳实用方法

在 AppKit 上,菜单项和工具栏项分别具有validateMenuItem(_:)validateToolbarItem(_:)。但是,通过新的触摸栏项目,没有这种方便的方法可以在正确的时刻验证适当的项目。

现在,每次更改相关值并调用验证方法时,我都会验证触摸栏项目didSet(请参阅以下示例代码)。但我觉得这不是一个好方法,因为相关值必须知道有一个触摸栏项目依赖于它。

我使用的另一种方法是 Cocoa-binding 和 KVO,但是,它并不总是很好用。

所以,我很好奇是否有任何推荐或事实上的标准方法来验证触摸栏项目,尤其是包含 NSButton 和 NSSegmentedControl。我不仅想改变物品的可用性,有时还想根据情况改变它们的图像或颜色。你们如何验证触摸栏项目?

0 投票
3 回答
791 浏览

cocoa - 如何检查机器是否有 Touch Bar

是否有任何API可以检查正在运行的机器是否有触摸条(或Xcode的触摸条模拟器)?

只有存在触摸栏时,我才会调用一些方法。如果我只是检查响应者属性的可空性,touchBar即使机器不支持它,它也会自动创建一个 touchBar 实例。但是当它没有意义时,我不想创建一个。

0 投票
2 回答
1730 浏览

macos - 如何在右侧 Touch Bar 的控制中心获取项目?

应用程序 TouchSwitcher 在光屏和音量项目旁边添加项目: https ://hazeover.com/touchswitcher.html 在此处输入图像描述

是否有解决方案将项目显示到触摸栏右侧区域的控制条中?

我在官方文档中找不到任何帮助...请帮助我!