macos – 如何获得半透明模糊背景的窗口

我想得到一个半透明模糊背景的窗口,就像终端可以做的那样.观看此视频,大约30秒,看看我的意思:http://www.youtube.com/watch?v=zo8KPRY6-Mk

见图:http://osxdaily.com/wp-content/uploads/2011/04/mac-os-x-lion-terminal.jpg

我一直在谷歌搜索一个小时,无法得到任何工作.我相信我需要以某种方式创建一个核心动画层并添加一个背景过滤器,但到目前为止我还没有成功……我只看到了窗口的灰色背景.这是我到目前为止的代码:

码:

//  Get the content view -- everything but the titlebar.
NSView *theView = [[self window] contentView];
[theView setAlphaValue:0.5];

// Create core animation layer, with filter
CALayer *backgroundLayer = [CALayer layer];
[theView setWantsLayer:YES];
[theView setLayer:backgroundLayer]; 
CIFilter *blurFilter = [CIFilter filterWithName:@"CIGaussianBlur"];
[blurFilter setDefaults];
[theView layer].backgroundFilters = [NSArray arrayWithObject:blurFilter];  
[[theView layer] setBackgroundFilters:[NSArray arrayWithObject:blurFilter]];

有什么提示或例子可以做我想做的事情吗?
谢谢!

最佳答案
不需要图层和过滤器,NSWindow可以自己做

[mywindow setOpaque:NO];
[mywindow setBackgroundColor: [NSColor colorWithCalibratedHue:0.0 saturation:0.0 brightness:0.2 alpha:0.5]];

请不要使用它,因为它也会标题为你的标题栏(在这里发布以防其他人需要)

[mywindow setOpaque:NO];
[mywindow setBackgroundColor: [NSColor blackColor]];
[mywindow setAlphaValue:0.5];

转载注明原文:macos – 如何获得半透明模糊背景的窗口 - 代码日志