1

我有一个带立方体的石英组合,并发布了 X/Y/Z 旋转输入。在 Interface Builder 上,我制作了 aQCView和 aQCPatchController并加载了之前的 Quartz Composition。在QCViewPatch Controller 中绑定了,并且旋转发布的端口也绑定到了三个NSSlider,所以当我更改的值时,NSSlider's立方体会旋转。

所有这一切都很好,但我想从 XCode 上的 App Delegate 更改立方体的旋转值。我尝试NSSliders使用指向它们的 IBOutlets 来更改 的值,但是这种更改不适用于立方体,就像我直接用鼠标更改 Sliders 时一样。

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

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

4

1 回答 1

0

其实很简单!补丁控制器将接受 KVCsetValue:forKeyPath:就好了。(所需的密钥路径可能如下所示patch.Input_Ports.value。)

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

IBOutlet对编译器没有任何作用,但它向 Interface Builder 发出信号,表明那里有一个出口。添加该行后,您将能够返回到 Interface Builder 并从应用程序委托控制拖动到补丁控制器,从而将 patchController 出口连接到 .nib 文件中的特定实例。

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

于 2010-04-03T15:52:46.420 回答