在 Xcode Playgrounds 中实现 TouchBar 功能

阿科普

如何NSTouchBar仅使用 Xcode Playgrounds实现 a 我认识到NSTouchBar,和与之配套的方法,包括makeTouchBar()被包含在内NSResponder的类,这是超类NSViewNSViewControllerNSWindow,和SKView(的一个子类NSView。)

正是由于这个原因,我有点不确定如何访问 TouchBar。有很多子类,NSResponder我不确定哪一个是正确的。据我所知,我什至无法访问所有这些,包括NSWindowPlayground,我怀疑它可能是我需要访问的那个。

我目前的设置是:

let containerView = SKView()
PlaygroundPage.current.liveView = containerView
let containterScene = SKScene()
containerView.presentScene(containterScene)

在检查响应者链时,对于 SKView 我得到:

<SKScene> name:'(null)' frame:{{-250, -250}, {500, 500}} anchor:{0.5, 0.5}

对于 SKScene:

<SKView: 0x7fba36037a00>
<NSView: 0x7fba32d6fe80>
<PlaygroundViewBridgeService: 0x7fba32d569e0>
<NSNextStepFrame: 0x7fba32d76e20>
<NSWindow: 0x7fba32e177e0>

出于某种原因,SKScene 和 SKView 不在同一个链中,我似乎无法访问高于 SKView 的任何响应程序。有没有办法扩展已经存在的功能NSWindow

另一个问题是,许多关于使用 TouchBar 的教程需要访问 AppDelegate,我认为在 Xcode Storyboards 中没有。

非常感谢在 Storyboards 中实现 TouchBar 的任何帮助。

阿科普

解决方法其实很简单。创建自定义子类NSViewController并在其中实现 TouchBar 覆盖功能。

然后实现上面的代码:

let containerView = CustomSKView()
let containterScene = CustomSKScene()
containerView.presentScene(containerScene)

加上以下内容。

let containerViewController = CustomNSViewController()
containerViewController.view = containerView
PlaygroundPage.current.liveView = containerViewController.view

这会NSViewController在响应者链中设置您的自定义,使其能够处理 Touch Bar。也无需担心 App Delegate。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在 Xcode playgrounds 中实现自定义字体

来自分类Dev

在XCode Playgrounds中互相引用的源

来自分类Dev

如何防止Xcode 7 Playgrounds自动运行?

来自分类Dev

如何在Xcode 8 beta中使SpriteKit Playgrounds工作?

来自分类Dev

如何在Xcode 8 beta中使SpriteKit Playgrounds工作?

来自分类Dev

协议扩展错误地实现功能时,XCode 7.2崩溃

来自分类Dev

如何在Playgrounds中显示原型预览?

来自分类Dev

在队列中实现推送功能

来自分类Dev

Python中的功能中缀实现

来自分类Dev

在SQL中实现全部功能

来自分类Dev

在C中实现Split功能

来自分类Dev

在Fortran中实现匿名功能

来自分类Dev

在Erlang中实现放置功能

来自分类Dev

在AVCamViewController中实现“缩放”功能

来自分类Dev

在方案中实现“累计”功能

来自分类Dev

Xcode / iOS:是否需要在功能中打开地图?

来自分类Dev

如何在Xcode中启用钥匙串共享功能?

来自分类Dev

Xcode隐藏功能

来自分类Dev

如何在Swift Playgrounds中为iPad使用Image()

来自分类Dev

如何在macOS的Swift Playgrounds中呈现UIViewController?

来自分类Dev

在 Swift Playgrounds 标记中添加一个空行

来自分类Dev

在angularjs中实现简短的url功能

来自分类Dev

如何在Django中实现搜索功能?

来自分类常见问题

如何在Numpy中实现ReLU功能

来自分类Dev

方案中可变参数图功能的实现

来自分类Dev

从C代码在Python中实现噪声功能

来自分类Dev

如何在类中实现接口功能

来自分类Dev

在R中实现1 /均值功能

来自分类Dev

在JavaScript中实现“一次”功能