【iOS】SwiftUI - 01 - SwiftUI essentials

  • 19
  • 0
  • iOS
  • 2025-06-04

本篇先簡單了解一個SwiftUI 中View 的組成跟佈局方法

Chapter 1-1 Getting started with Scrumdinger

Swift 是一種程式語言,而SwiftUI 則是一個聲明式的UI framework,可且指定介面在Apple 不同平台上,做出特定行為。

SwiftUI 的關鍵功能有

  • 聲明式語法(Declarative syntax): 用Swift 宣告畫面的結構
  • 組合API(Compositional API): 利用內建功能快速寫出UI,並可以將簡單的小組件合併成複雜的UI
  • 佈局系統: 輕鬆定義視圖彼此之間的關係
  • 資料依賴: 當資料產生變化,畫面會自動更新
  • 無障礙功能

Chapter 1-2 Using stacks to arrange views

主體是body 這個 View。UI components 會寫在body 裡面,每一個component 都是實作View 這個struct。可以看到body 裡面有VStack、HStack,SwiftUI 利用垂直(VStack)、水平(HStack)、前後(ZStack) 等方式堆疊Views。將各種的View 組合起來,而形成了使用者介面。

組件後面接{},底下就可以再放其他組件,如上面的VStack, Button;組件後面接() 可以設定屬性,如Lable 的systemImage。

除了可以用打字的方式加入組件以外,也可以按編譯器右上角的"+",用拖拉方式把組件加入UI 中。
 


用拖拉的好處是編譯器會預設幫你帶出組件常用的屬性。另外一種方式是點右鍵>Show SwiftUI inspector,可以看到完整的設定屬性。
以下拖拉出DatePicker,帶出selection, label 兩個屬性。
 

除了屬性之外,還可以用built-in modifiers(內建修飾符) ,透過強型別的方式修改組件的外觀。例如:Text 透過.font 這個modify 改變字體。

View 才能用modify,modify 會回傳一個View,故上面的.font 回傳一個View 之後,如果要再做其他修改,可以直接在後面接新的modify。

References:
https://developer.apple.com/tutorials/app-dev-training/getting-started-with-scrumdinger