gpt4 book ai didi

objective-c - 与 Quartz Composition 的代码交互

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

我有一个带有立方体的 quartz 组合,并且 X/Y/Z 旋转输入已发布。在 Interface Builder 上,我制作了一个 QCView 和一个 QCPatchController 并加载了之前的 Quartz Composition。在 QCView 中,补丁 Controller 已绑定(bind),旋转发布端口也绑定(bind)到三个 NSSlider,因此当我更改 NSSlider 的值时然后立方体旋转。

所有这些工作正常,但我想从 XCode 上的应用程序委托(delegate)更改立方体的旋转值。我尝试更改指向 NSSliders 的 IBOutlet 的值,但此更改不适用于多维数据集,就像我直接用鼠标更改 slider 时一样。

我应该实例化什么和/或如何通过CQPatchController访问和更改此Input_Ports.value

非常感谢您的阅读,我真的需要帮助!

最佳答案

其实很简单!补丁 Controller 将接受 KVC 的 setValue:forKeyPath: 就好了。 (所需的关键路径可能类似于 patch.Input_Ports.value。)

要连接到您的 Patch Controller ,您需要向您的应用程序委托(delegate)添加一个 socket 。在应用程序委托(delegate)的 .h 文件中,添加实例变量 IBOutlet NSObjectController* patchController

IBOutlet 不会为编译器做任何事情,但它向 Interface Builder 发出信号,表明那里有一个 socket 。添加该行后,您将能够返回 Interface Builder 并从应用程序委托(delegate)按住 Control 键拖动到补丁 Controller ,从而将 patchController 导出连接到 .nib 文件中的特定实例。

(QCPatchController 没有 .h 文件,但它是 NSObjectController 的子类,因此您可以安全地这样声明它。)

关于objective-c - 与 Quartz Composition 的代码交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2571687/

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