gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 17:48:19 26 4
gpt4 key购买 nike

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

我可以使用它来将 NSTouchBar 与该窗口关联起来吗?

我已经通过直接修改 SDL 代码以在 ViewController 中完成此操作成功完成了此操作,但作为库 API 的用户,该选项对我不可用。

我之前认为我可以通过客户 NSResponder 来实现此目的,但我不再相信这是一个有效的选项。

谢谢。

最佳答案

创建一个 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;
}

您可以看到https://developer.apple.com/library/content/samplecode/NSTouchBarCatalog/Listings/Objective_C_NSTouchBar_Catalog_TestViewControllers_PopoverViewController_m.html让更多人有勇气加入这些功能。

关于objective-c - 在没有特定 NSTouchBar 支持的情况下创建 NSTouchBar 后,我可以将 NSTouchBar 附加到 NSWindow 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40701727/

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