【问题标题】:Is it possible to control the amount of vibrancy of the translucent/blurry background in Yosemite?是否可以控制优胜美地中半透明/模糊背景的活力量?
【发布时间】:2016-04-27 15:51:07
【问题描述】:

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

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

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

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

【问题讨论】:

  • 你有没有找到一个有效的答案?

标签: objective-c cocoa osx-yosemite nsvisualeffectview


【解决方案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 材料作为其体积视图。

【讨论】:

    【解决方案2】:

    我实现这个效果如下

    1. 拥有一个 NSVisualEffect 视图以获得活力
    2. 在相同大小的视觉效果视图之上有一个自定义视图
    3. 将自定义视图的背景颜色设置为白色,alpha 为 0(完全透明)
    4. 增加自定义视图的 Alpha 值,使其不那么透明(不那么模糊)

    【讨论】:

    • 能否提供一个带有最终结果截图的样本?
    猜你喜欢
    • 2014-07-24
    • 2015-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-28
    • 2011-09-10
    相关资源
    最近更新 更多