我正在尝试在 SDL 应用程序中创建一个 NSTouchBar,我需要将一个响应程序附加到 NSWindow 对象(这是 SDL 提供给 Cocoa 窗口系统的唯一访问权限)。
https://developer.apple.com/reference/appkit/nstouchbar
如果在对象中显式采用 NSTouchBarProvider 协议,则 还必须在 NSTouchBar 方法中显式发送关联的键值观察通知;这使系统可以对条形图的变化做出适当的响应。
这是什么意思,我该怎么做?我看到很多关于如何订阅通知的文档,但没有看到如何发送它们?
现在我有:
@interface MyTouchBarResponder : NSResponder <NSTouchBarDelegate>
- (id)init;
- (NSTouchBar *)makeTouchBar;
- (nullable NSTouchBarItem *)touchBar:(NSTouchBar *)touchBar makeItemForIdentifier:(NSTouchBarItemIdentifier)identifier;
@property(strong, readonly) NSTouchBar *touchBar;
@end
我用我在这里问过的上一个问题的代码将它附加到窗口:如何从 NSWindow 对象创建 NSTouchBar?
touchBarResponder.nextResponder = window.nextResponder;
window.nextResponder = touchBarResponder;
但我的回调从未被调用过(我把exit(0)
它们放进去让它非常明显)。当我将代码直接破解到 SDL 库中时,一切正常,但这不是一个可行的永久解决方案。
谢谢你。