11

我想知道是否可以控制 Yosemite 最近引入的所谓的活力效果中的半透明量,这可以通过使用NSVisualEffectView类在 Objective-C 应用程序中实现。

这是一个更具体的例子。考虑 Yosemite OS X 在音量变化时显示的半透明效果:

优胜美地

活力比使用简单获得的要强得多NSVisualEffectView(如下图所示)

NSVisualEffectView

如果我们比较这两个图像——请忽略扬声器的不同形式,但专注于背景——我们会看到 Yosemite OS X 音量窗口中的振动量(高斯模糊效果的强度)要强得多,而不是我的应用程序使用NSVisualEffectView. 怎么能得到呢?

4

2 回答 2

1

在 OS X Yosemite Apple 中引入了可以应用于 NSVisualEffectView 的新材质。

来自 OS X v10.11 的 AppKit 发行说明:

NSVisualEffectView 有额外的材料可用,它们现在被组织成两种类型的类别。首先,有一些抽象的系统定义的材质,由它们应该如何使用来定义:NSVisualEffectMaterialAppearanceBased、NSVisualEffectMaterialTitlebar、NSVisualEffectMaterialMenu(10.11 中的新功能)、NSVisualEffectMaterialPopover(10.11 中的新功能)和 NSVisualEffectMaterialSidebar(10.11 中的新功能)。当您尝试创建模仿这些标准 UI 片段的设计时,请使用这些材料。接下来,有一些特定的调色板材料可以更直接地用于创建特定的设计或外观。它们是:NSVisualEffectMaterialLight、NSVisualEffectMaterialDark、NSVisualEffectMaterialMediumLight(10.11 新增)和 NSVisualEffectMaterialUltraDark(10.11 新增)。这些颜色可能会根据 NSVisualEffectView 上设置的 blendingMode 略有不同;在某些情况下,它们可能与另一种材料相同。

尽管这仅适用于 OS X El Capitan,但您现在可以为您的视图创建更“接近原始”的模糊效果。我假设 Apple 使用该NSVisualEffectMaterialMediumLight材料作为其体积视图。

于 2016-04-27T07:51:07.833 回答
0

我实现这个效果如下

  1. 有一个 NSVisualEffect 视图来获得活力
  2. 在相同大小的视觉效果视图之上有一个自定义视图
  3. 将自定义视图的背景颜色设置为白色,alpha 为 0(完全透明)
  4. 增加自定义视图的 alpha 以使其不那么透明(不那么模糊)
于 2014-11-25T02:58:26.250 回答