第 54 章
使用 PhaseAnimator 創建動態的動畫

SwiftUI已經簡化了視圖動畫的創建。其中一個例子是 matchedGeometryEffect 修飾器,它使開發者能夠定義兩個視圖的外觀。該修飾符計算兩個視圖之間的差異並自動動畫化大小和位置的變化。自 iOS 17 開始,蘋果在SwiftUI框架中加入了一個名為 PhaseAnimator 的新視圖,使我們能夠創建更複雜的動畫。

在本教學中,我們將探索 PhaseAnimator 的能力,並學習如何利用它來創建多步驟(Multi-step)的動畫。

使用 PhaseAnimator 創建簡單的動畫

PhaseAnimator視圖或.phaseAnimator` 修飾器使你能夠生成多步驟的動畫。通過循環遍歷你提供的表示不同步驟的相位集合,你可以創建動態且引人入勝的動畫。

圖 54.1. 使用 PhaseAnimator 建立的範例動畫
圖 54.1. 使用 PhaseAnimator 建立的範例動畫

讓我舉個簡單的例子,這樣你就能理解如何使用相位動畫器。我們將對一個圓角矩形進行變換動畫。它開始時是一個藍色的矩形,然後進行縮放,顏色變為靛藍色,並添加了一個3D旋轉動畫。

我們可以使用 RoundedRectangle 視圖來創建圓角矩形,並將 phaseAnimator 修飾符附加到矩形上,如下所示:

想更深入學習SwiftUI和下載完整程式碼?你可以從 AppCoda網站購買《精通 SwiftUI》完整電子版。

results matching ""

    No results matching ""