在第2單元介紹過SwiftUI基本觀念與物件,從核心觀念「視圖(View)」,到各類視圖物件與視圖修飾語(View modifier),不過限於篇幅,著重介紹版面編排(Layout)相關物件,包括VStack/HStack/ZStack、LazyVGrid、ForEach、List等。
接下來我們準備學習SwiftUI另一個重要組成:動畫與平面繪圖,核心物件包括Animation, TimelineView, Canvas, Path等,如果說第2、第3單元是以靜態的資料圖表為主,那麼第4單元則開始「動態視覺化」,並適時加入按鈕、觸控手勢等互動元件,讓使用者的互動體驗更完善。
課程大綱以10課為一個單元,前4課介紹文字處理與相關動畫,包括文字跑馬燈、旋轉、閃爍、斷句、逐字變化等,後6課則是2D繪圖,包括圓與正多邊形、對稱圖形、軌跡動畫、函數繪圖、圖片輪播等。
第4單元目錄如下:
第1課 文字動畫(Animation 物件)
|
第6課 Canvas + TimelineView
|
課程對象仍以高中生程度為主,行文會盡量簡潔,避免用太多英文術語,每課以完整範例程式來介紹新的物件語法,而自己定義的變數、常數、函式、類型等名稱,儘量採用中文命名,不過英文關鍵字還是必要,如遇到較難的英文會稍加解釋。
本單元完全採用 Swift Playgrounds App 編寫程式(不需要Xcode!),硬體只需一台iPad平板或Mac電腦(最近五年內的型號都適用),須安裝Swift Playgrounds 4.0以上版本。
所需的基礎知識,會用到前面第1, 2單元的觀念與物件語法,如果沒有基礎的同學,請盡量循序漸進,這樣基礎才能打得更穩。
學習路線
- 下載Swift Playgrounds App https://www.apple.com/tw/swift/playgrounds/
- 第1單元 Swift 程式語言基礎 https://www.mobile01.com/topicdetail.php?f=482&t=6402999
- 第2單元 SwiftUI 圖形介面基礎 https://www.mobile01.com/topicdetail.php?f=482&t=6424982
- 第3單元 Swift 網路程式基礎 https://www.mobile01.com/topicdetail.php?f=482&t=6453587
後續單元還有:
另外,本單元課程已整合為一個App,並上架App Store:搜尋「動畫與繪圖」
![Swift程式設計[第4單元] SwiftUI動畫與繪圖](https://attach.mobile01.com/attach/202405/mobile01-c5fb0124c428bece72f8c154fd1c0db6.png)