objective-c - 如何在 View 顶部添加模糊 View ?

标签 objective-c cocoa macos nstableview nsview

我有一个重新加载的 NSTableView。在加载新数据时,我想在其上添加一个带有微调器的 subview 。我希望顶部的 View 是半透明的,并显示其下方的 View ,使其模糊。我该怎么做呢?

最佳答案

最简单的解决方案——比 -bitmapImageRepEtc: 方法更简单,并且比光栅化缩放方法更适用于 Mac OS——是将叠加 View 设置为使用 Core Animation 支持层,然后给该层一个 Core Image 模糊滤镜。这是一种用于整个 Mac 操作系统的技术,从 Dock 菜单到菜单栏本身。 Interface Builder 使设置变得非常容易,但您也可以在代码中完成,如下所示:

CALayer *backgroundLayer = [CALayer layer];
[backgroundView setLayer:backgroundLayer];
[backgroundView setWantsLayer:YES];

CIFilter *blurFilter = [CIFilter filterWithName:@"CIGaussianBlur"];
[blurFilter setDefaults];

[backgroundView layer].backgroundFilters = [NSArray arrayWithObject:blurFilter];

关于objective-c - 如何在 View 顶部添加模糊 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5246609/

相关文章:

macos - 自定义 View 使隐藏可见

cocoa - 如果 setHasHorizo​​ntalScroller :NO? NSScrollView 可以滚动吗

ios - 带有 "Bearer Token"的 Twitter 仅应用程序身份验证

objective-c - 使用 NSPredicate 解析带变量的公式

ios - 将分段控制值存储为变量。如何解决这些警告?

ios - 从真实 iOS 设备获取剪贴板

python - 当我在终端中输入 'python -V' 时...为什么我看到 Python 2.7.10

ios - 当 Storyboard主要基于自动布局时,在 Storyboard中使用 UIScrollViews 的最佳做法是什么?

cocoa - Cocoa 垃圾收集导致内存泄漏

c - 在 Mac 上使用 C 语言使用蓝牙输入的良好起点是什么?