我一直在寻找一些方法来控制 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 不正确或者这段代码根本不应该工作:)
那么有什么方法可以观察我的作品的发布值吗?
感谢帮助。