macos - ¿Agregar CIFilter a CALayer bajo Mavericks?
cocoa core-animation (1)
Lo descubrió, Apple decidió cambiar esto y requerir una nueva bandera sin ninguna razón.
progressIndicator.layerUsesCoreImageFilters = YES;
por lo que esta es la forma estándar de agregar filtro a una capa:
NSView *view = self.window.contentView;
view.wantsLayer = YES;
CATextLayer *textLayer = [CATextLayer layer];
textLayer.frame = CGRectMake(10.0, 10.0, 200.0, 100.0);
textLayer.string = @"foo";
textLayer.foregroundColor = [[NSColor redColor] CGColor];
// Add filter
CIFilter *filter = [CIFilter filterWithName:@"CIGaussianBlur" keysAndValues:@"inputRadius", @5.0, nil];
textLayer.filters = @[filter];
// Attach layer
[view.layer addSublayer:textLayer];
Sin embargo, se bloquea mi aplicación en OS X Mavericks. Solía trabajar en 10.8.
2013-10-23 13:09:20.767 Serus[3608:303] *** Terminating app due to uncaught exception ''CAInvalidCIFilter'', reason: ''CI filters are not supported by this layer tree: {CIGaussianBlur {
inputImage = "<null>";
inputRadius = 10;
}}.''
Los filtros CI no son compatibles con este árbol de capas
¿Alguna vez alguien ha visto esto? ¿Qué puedo estar haciendo mal?