我正在使用SDL创建一个与OpenGL一起使用的窗口,它返回的唯一信息是NSWindow对象。
我可以使用它随后将NSTouchBar与该窗口关联吗?
我已经通过直接修改SDL代码在ViewController中成功完成了它,但作为库API的用户,我无法使用该选项。
我以前认为我可以通过客户NSResponder这样做,但我不再相信这是一个有效的选择。
谢谢。
答案 0 :(得分:1)
创建NSWindowController并将其附加到现有窗口。
@interface WindowController : NSWindowController <NSTouchBarDelegate>
和
- (id)init:(NSWindow *) nswindow
{
self = [super initWithWindow:nswindow];
return self;
}
- (NSTouchBar *)makeTouchBar
{
NSTouchBar *bar = [[NSTouchBar alloc] init];
bar.delegate = self;
bar.customizationIdentifier = PopoverCustomizationIdentifier;
bar.defaultItemIdentifiers = @[PopoverItemIdentifier, NSTouchBarItemIdentifierOtherItemsProxy];
bar.customizationAllowedItemIdentifiers = @[PopoverItemIdentifier];
bar.principalItemIdentifier = PopoverItemIdentifier;
return bar;
}