Я хочу копировать фон Стопок прикрепления в режиме списка и сетке. Фон является полупрозрачным черным цветом с эффектом размытия:
Проблема состоит в том, что [CALayer backgroundFilters] только относится к содержанию в окне, фильтры не применяются к содержанию в других окнах. Вот мой код:
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
//make window transparent
self.window.backgroundColor = [NSColor clearColor];
[self.window setOpaque:NO];
[self.window setHasShadow:NO];
[self.window setStyleMask:NSBorderlessWindowMask];
//make the content view layer hosting
CALayer *rootLayer = [CALayer layer];
[[self.window contentView] setLayer:rootLayer];
[[self.window contentView] setWantsLayer:YES];
//blur the background contents - NOT WORKING!
[rootLayer setBackgroundColor:CGColorCreateGenericGray(0.0, .716)];
CIFilter *blurFilter = [CIFilter filterWithName:@"CIGaussianBlur"];
[blurFilter setDefaults];
[rootLayer setBackgroundFilters:[NSArray arrayWithObject: blurFilter]];
}
Я не могу думать, как еще достигнуть этого эффекта. (Я смотрел на Display Services, чтобы видеть, существуют ли какие-либо полезные функции, но я не вижу никого.)
Какие-либо идеи?