WWDC25

2025 年 6 月 13 日

擁抱彈性:WWDC25 揭示的 UIKit 未來與 App 自適應設計準則

已複製到剪貼板


打破邊界,重塑視窗設計的哲學

身為 Apple 平台的開發者,我們正處於一個關鍵的轉折點。隨著 iPhone、iPad、Mac 與 Apple Vision Pro 之間的界線日益模糊,過去那種針對「特定螢幕尺寸」進行開發的靜態思維已不再適用。當前的挑戰在於:如何在多變的視窗幾何形態中,確保 UI 不僅不會破碎,更能優雅地善用每一吋螢幕空間。

在 WWDC25 中,Apple 傳遞了一個明確且具前瞻性的訊號「靈活性 Flexibility」不再是進階 App 的加分選項,而是現代 App 生存的架構核心。這不僅僅是 UI 的調整,更是一場關於「消失的邊界」的設計革命。

WWDC 2025
WWDC 2025

最後的轉型:場景生命週期將成為開發基石

場景(Scenes)是構建自適應 App 的基礎架構。對於仍停留在「以 App 為中心」舊思維的團隊來說,現在是完成轉型的最後時刻。

關鍵的架構變革:Apple 已經明確指出,在 iOS 26 之後的下一個重大版本中,當開發者使用最新的 SDK 進行構建時,採用 UIScene 生命週期將成為強制性要求。

身為架構師,必須理解其中的技術細節:

  • 強制性 vs. 鼓勵性:雖然採用場景生命週期是強制性的,但支援多視窗(Multiple Scenes)目前仍僅止於「鼓勵」。這意味著你必須先完成底層生命週期的遷移,以應對未來系統的幾何管理需求
  • 混合開發的優勢:iOS 26 允許在單一 App 中並行使用 SwiftUI 與 UIKit 場景,這為技術遷移提供了極佳的緩衝
  • 精確的狀態還原:透過 UISceneDelegate 獨立管理每個實例的狀態儲存與還原(State Restoration),能確保使用者無論從何種視窗切換回來,介面都能精確停留在最後的操作點

「場景提供的可移植性是構建彈性 App 的完美基礎。」— Alexander MacLeod, UIKit 團隊工程師

容器控制器的進化:從互動式分欄到智慧標籤

UISplitViewControllerUITabBarController 的更新,展示了 Apple 如何將桌面級的生產力與行動裝置的直覺性完美結合。

互動式分欄與「第一類」檢查器

  • 互動式縮放 Interactive Column Resizing:使用者現在可自由拖動分隔線調整寬度。身為開發者,應利用新 API 自定義寬度約束:
    • minimumPrimaryColumnWidthmaximumPrimaryColumnWidth
    • preferredSupplementaryColumnWidth
    • 狀態感知 Trait Collections:透過 splitViewControllerLayoutEnvironment 這一新 Trait,App 能精確得知父級分欄控制器的收合 (Collapsed)或擴展狀態,進而動態決定是否顯示如 Disclosure Indicators 等導覽元素
  • 原生檢查器 Inspector Column:這是 iPadOS 上的重大進化。在空間充裕時,檢查器位於右側分欄;在空間受限時,系統會自動將其轉化為 工作表(Sheet)模式,無需手動編寫佈局切換邏輯

跨平台的變色龍:Tab Bar 的無縫演進

UITabBarController 現已成為跨平台佈局的典範。它在 iPhone 位於底部,在 Apple Vision Pro 成為懸浮裝飾(Ornament),而在 iPad 上則能自動轉換為頂部導覽或側邊欄(Sidebar)。

  • 標籤群組 Tab Groups:透過 managingNavigationController API,開發者可以確保當標籤群組在側邊欄展開時,內容階層能擁有一致的導覽棧(Navigation Stack)體驗。這真正實現了「一套程式碼,多種形態」的低維護成本目標

佈局精準度與效能:應對 iPadOS 26 視窗控制項

隨著 iPadOS 26 引入了類似 macOS 的視窗控制項(關閉、最小化、排列按鈕),UI 佈局的「安全感」需要建立在更精確的 API 之上。

導覽列與轉角適應

為了防止內容被系統視窗控制項遮擋,開發者應透過 UIWindowSceneDelegatepreferredWindowingControlStyle 定義風格,並善用以下佈局指南:

  • 特定佈局路徑:對於場景頂部的條狀內容,建議使用 containerView.layoutGuide(for: .margins(cornerAdaptation: .horizontal))。這能確保內容在視窗控制項出現時,自動向內縮排,避免重疊

效能優化的關鍵:isInteractivelyResizing

對於遊戲或包含複雜圖形渲染的 App,頻繁的視窗縮放會帶來巨大的計算負擔。

  • 延遲渲染策略:透過查詢 isInteractivelyResizing 狀態,架構師可以設計在使用者進行「即時縮放」期間暫停昂貴的資產重繪,直到縮放動作結束後再更新 UI。這對於維持介面的流暢度至關重要

UX 洞見:方向鎖定的冗餘性

在真正的自適應 App 中,介面方向應隨視窗尺寸動態調整。雖然我們鼓勵開發者捨棄固定方向,但針對特定需求(如駕駛模擬遊戲),仍可利用 prefersInterfaceOrientationLocked API 暫時鎖定方向,並透過 didUpdateEffectiveGeometry 監測鎖定狀態的變化。

未來相容性的「二進位里程碑」:告別保姆模式

這或許是本次 WWDC 最重要的技術警告:系統提供的自動相容緩衝即將終結。

  • UIRequiresFullscreen 的消亡:這個自 iOS 9 以來讓 App 躲避視窗縮放的標記已被棄用。未來系統將完全忽略此標記。
  • SDK 的斷層點:一旦開發者使用 iOS 26 SDK 構建並提交 App,這便是一個「二進位里程碑」。系統將不再為新硬體提供等比例縮放(Letterboxing)或自動縮放保護

這意味著,如果你的 App 沒有具備完善的自適應佈局,當 Apple 未來推出全新解析度的硬體時,你的 App 將直接暴露在無法預期的佈局風險中,不再有系統提供的「黑邊」作為安全網。

當邊界消失,設計才真正開始

這場由彈性驅動的技術變革,核心在於將「選擇權」還給使用者。一個真正優秀的 App 不應限制使用者的使用方式,而應像流體一樣,在任何螢幕、任何佈局、任何情境下都能完美契合。

身為開發者與設計師,我們應該重新思考:「當 App 的邊界完全消失後,你的設計將如何重新定義使用者的生產力?」

現在就開始採用 UIScene 生命週期並擁抱自適應容器 API,為你的 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

最新文章