2014-11-15 125 views
10

我想知道是否有可能控制Yosemite最近引入的所謂活力效應中的半透明效果,它可以通過使用NSVisualEffectView類在Objective-C應用程序中實現。是否有可能控制優勝美地半透明/模糊背景的活力量?

下面是一個更具體的例子。考慮這是由約塞米蒂OS X所示,當音量電平改變時,半透明的效果:

Yosemite

的活力是比一個獲得由使用簡單NSVisualEffectView(下圖中示出)

強得多

NSVisualEffectView

如果我們比較兩個圖像 - 請忽略不同形式的音箱,但着眼於背景 - 我們看到,活力(高斯模糊效果的強度)的量在強得多Yosemit e OS X音量窗口,而不是使用我的應用程序NSVisualEffectView。怎麼能得到那個?

+0

你有沒有找到一個工作的答案呢? –

回答

0

我實現這個效果如下

  1. 有NSVisualEffect以獲得活力
  2. 有一個自定義視圖上的視覺效果頂部查看大小相同
  3. 設置自定義的背景顏色查看到白色和0的alpha(完全透明)
  4. 增加自定義視圖的Alpha,使其不透明(不太模糊)
+0

您是否願意提供帶有最終結果截圖的樣本? –

1

在OS X優勝美地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,您現在可以爲您的視圖創建更「接近原始」的模糊效果。我認爲蘋果公司使用NSVisualEffectMaterialMediumLight材料來製作卷視圖。