macos cocoa core-animation calayer cifilter

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?