在不使用QCView和QCPatchController的情况下观察Quartz Composition的已发布值

时间:2011-03-15 10:44:52

标签: objective-c quartz-composer

我一直在寻找一些控制Quartz Composition的方法,它是作为从NSView继承的自定义视图的子层加载的。

NSString * compositionPath = [[NSBundle mainBundle] pathForResource:@"Test" ofType:@"qtz"];
QCCompositionLayer *myQCCompositionLayer = [[QCCompositionLayer compositionLayerWithFile:compositionPath] retain];
// Borderless window with custom view
[[self.contentView layer] addSublayer: myQCCompositionLayer];

手动我发现,以下代码适用于设置已发布的输入值:

[myQCCompositionLayer setValue:@"123" forInputKey:@"published_text_input"];

所以我试图找到观察已发布输出值的方法,我想知道观察者是否应该这样做。写得像这样:

[myQCCompositionLayer addObserver:self forKeyPath:@"published_output_value" options:0 context:nil];

这是在同一个班级:

- (void) observeValueForKeyPath:(NSString*)keyPath ofObject:(id)object
                     change:(NSDictionary*)change context:(void*)context
{
    NSLog(@"123");
}

但它不起作用。也许keypath不正确或者这段代码根本不起作用:) 那么有什么方法可以观察我的作品的公布价值吗? 谢谢你的帮助。

0 个答案:

没有答案