代码与石英组合的交互

时间:2010-04-03 15:35:49

标签: objective-c cocoa graphics quartz-composer

我有一个带立方体的石英合成,并发布了X / Y / Z旋转输入。 在Interface Builder上,我加载了前一个Quartz Composition,创建了QCViewQCPatchController。在QCView中,修补程序控制器被绑定,并且轮换发布的端口也绑定到三个NSSlider,因此当我更改NSSlider's的值时,立方体就会旋转。

这一切都运行正常,但我想从XCode上的App Delegate更改多维数据集的旋转值。我尝试使用指向它们的IBOutlets更改NSSliders的值,但此更改不适用于多维数据集,就像我使用鼠标直接更改滑块时一样。

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

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

1 个答案:

答案 0 :(得分:0)

实际上很简单!补丁控制器将接受KVC的setValue:forKeyPath:就好了。 (所需的密钥路径可能看起来像patch.Input_Ports.value。)

要连接到您的补丁控制器,您需要为您的应用代表添加一个插座。在app delegate的.h文件中,添加一个实例变量IBOutlet NSObjectController* patchController

IBOutlet对编译器没有任何作用,但它向Interface Builder发出信号,表明那里有一个插座。一旦添加了该行,您就可以返回Interface Builder并从您的app delegate控制拖动到补丁控制器,从而将patchController插座连接到.nib文件中的特定实例。

(QCPatchController没有.h文件,但它是NSObjectController的子类,所以你可以安全地声明它。)