WWDC25

2025 年 6 月 19 日

macOS Tahoe 的視覺革命:深度解析「Liquid Glass」與 AppKit 的美學演進

已複製到剪貼板


在 macOS 的演進史上,介面材質的變革往往定義了整個世代的開發與設計語言。隨著 macOS Tahoe 的推出,Apple 引進了全新的「Liquid Glass 流動玻璃」材質。這不僅是一次視覺上的刷新,更是對 Mac 應用程式結構與層次感的重新建構。

WWDC 2025:Build an AppKit app with the new design
WWDC 2025:Build an AppKit app with the new design

作為開發者與設計師,理解這套新系統如何透過動態材質、幾何邏輯與全新的 API 提升使用者體驗,將是打造現代化 Mac App 的關鍵。

macOS 的視覺新篇章

對於 Mac 使用者而言,視窗介面是再熟悉不過的日常空間。然而,macOS Tahoe 正透過 AppKit 的底層革新,打破傳統視窗邊框的束縛。全新的「Liquid Glass」材質讓應用程式從平面走向立體,使控制項如同漂浮在內容之上的獨立功能層。這種設計不只是為了美觀,更是為了建立一種前所未有的「深度感」與「動態視覺」,讓 App 內容能無邊際地流動,同時保持導覽與操作的清晰度。

Liquid Glass:具備「適應性」的流動美學

Liquid Glass 是 macOS Tahoe 視覺語言的核心,它遠超越了傳統的透明或模糊效果。這種材質具備物理特性上的「真實感」,能根據環境產生動態變化。

「這是一種半透明表面,透過反射與折射光線,在使用者介面中營造出深度感與動態感。」-Apple 框架工程經理 Jeff Nadeau

這種材質最顯著的特性在於其智慧適應性(Adaptive Appearance)。Liquid Glass 會根據其背後內容的亮度與色彩動態調整外觀。例如,當滾動的內容特別明亮或黑暗時,工具列的玻璃材質會自動切換淺色或深色外觀。這種變化會透過 NSAppearance 系統傳遞給內容,確保介面元素在任何背景下都能保持卓越的對比度。

技術實踐:玻璃容器與效能優化

若要在自定義 UI 中採用此效果,開發者應使用 NSGlassEffectView。當多個玻璃元件鄰近時,必須使用 NSGlassEffectContainerView 將其群組化。這不僅能讓元件在接近時產生「液體般」融合與分離的動態視覺,更重要的是能讓元件共享採樣區域(Sampling Region)。由於 Liquid Glass 會採樣比自身更大的背景範圍來模擬折射,群組化能避免重複採樣,大幅提升渲染效能。

空間重構:懸浮設計與邊緣視覺效果

在 Tahoe 中,視窗的結構被重新定義,關鍵區域現在以玻璃材質「懸浮」在內容之上。

  • 工具列的演進:工具列現在漂浮在內容上方,AppKit 會根據控制項類型自動進行玻璃群組化
    • 專業提示:非互動性元件(如照片 App 中的資訊文字)應將 isBordered 屬性設為 false,以避免被錯誤地加上玻璃底座。此外,可利用 NSItemBadge API 為工具列項目添加通知標記
  • 側邊欄與 NSBackgroundExtensionView透過 NSSplitViewController,側邊欄現在是懸浮的玻璃面板。若您的 App 擁有如電影海報般的滿版豐富內容,建議使用新 API NSBackgroundExtensionView。它能自動將安全區域(Safe Area)外的內容進行鏡像與模糊處理,營造出內容延伸至側邊欄下方的視覺深度,卻不遮擋核心構圖
  • 滾動邊緣效果(Scroll Edge Effect):當內容與玻璃元素重疊時,系統會在 NSScrollView 內部自動套用此效果。它包含兩種變體:柔和邊緣(Soft-edge)會逐漸淡化並模糊內容,而硬邊緣(Hard-edge)則使用較不透明的底座提供更強的視覺隔離

同心圓原則 Concentricity:介面中的幾何和諧

macOS Tahoe 引入了「同心圓」的設計哲學。隨著視窗角半徑(Corner Radius)變得更加柔和且寬大,內部的玻璃元件也隨之調整曲率,確保兩者完美嵌套。

為了應對更大的圓角可能切除內容的問題,Apple 推出了新 API:NSView.LayoutRegion。這比標準的 safeAreaLayoutGuide 更強大,它具備內建的「避開圓角 Corner Avoidance」功能。開發者可以透過 layoutGuide 方法獲得一個自動縮排的導引線,確保元件(如視窗角落的按鈕)能精確地避開圓角切跡,達成幾何上的優雅平衡。

控制元件的進化:尺寸、形狀與「Extra Large」

為了統一跨平台體驗,Tahoe 對 AppKit 控制項進行了大幅度翻新。

  • 新增「Extra Large」尺寸:專為 App 的核心動作設計(如媒體播放、通話按鈕),建立鮮明的視覺層級
  • 控制項高度調整:Mini、Small 與 Medium 尺寸現在略微調高,增加了點擊目標面積並提供更多呼吸空間
    • 顧問建議:對於複雜的專業工具箱或彈出視窗等高密度佈局,若無法立即適應新高度,可將 prefersCompactControlSizeMetrics 屬性設為 true,使控制項回退至舊版的緊湊尺寸
  • 膠囊型進化:Large 與 Extra Large 元件現在預設為「膠囊型 Capsule」。開發者也可以透過 borderShape 屬性自定義形狀,以符合特定設計中的同心圓美感

色彩階層與細節:Tint Prominence 與選單優化

在色彩應用上,新系統強調「不搶戲」的邏輯。透過全新的「色彩突出程度 Tint Prominence」系統,開發者可以細膩地控制元件的視覺份量:

  1. Automatic:系統根據樣式自動決定
  2. None:無色彩填充,視覺最輕量
  3. Secondary:較為收斂的色彩(適用於破壞性動作如「刪除」,既能提示顏色又不會蓋過主按鈕)
  4. Primary:最顯眼的色彩應用,通常用於預設按鈕(Default Button)

此外,滑桿(Slider)新增了 neutralValue 屬性。這是一個極為實用的功能,例如在播放速度控制中將其設為 1x,滑桿的色彩填充將從該錨點向兩側延伸,直觀地傳達當前值與預設值之間的差異。同時,選單(Menus)現在全面支援並鼓勵使用圖示,大幅提升了操作的「可掃視性 Scannability」。

將 App 提升至頂層層級

Liquid Glass 與新設計系統的核心目的,是將關鍵控制項提升到一個獨特的「功能層」,與流動的內容層分離。這不僅讓介面更現代,更提升了操作的直覺性。

身為開發者,建議您的第一步是使用 Xcode 26 重新建置您的應用程式。這將自動啟用大部分的新設計特性。接著,請審視您的 App 佈局,移除硬編碼的高度,並善用 NSGlassEffectView 將核心元件提升至玻璃層。

最後,請試著思考:當你的 App 內容能無邊際地流動,而控制項如同漂浮在玻璃上時,這將如何重新定義使用者的互動體驗?

分享文章

已複製到剪貼板

主題文章

查看 WWDC25

超級感謝

關於 XcodeProject

XcodeProject 創立於 2023,致力於協助開發者探索 Apple 的創新世界,學習在 iOS、iPadOS、macOS、tvOS、visionOS 與 watchOS 上開發 App,發現眾多技術與框架,讓開發者獲得更多能力。


Contacts

Ricky Chuang

XcodeProject

RickyChuang.xcodeproj@gmail.com

XcodeProject 聯絡

contact.xcodeproj@gmail.com

最新文章