- SwiftUI 教程
- SwiftUI - 首頁
- SwiftUI - 概述
- SwiftUI vs UIKit
- SwiftUI 環境
- SwiftUI - 環境設定
- SwiftUI - 基本元件
- SwiftUI - 建立第一個應用程式
- SwiftUI 檢視
- SwiftUI - 檢視
- SwiftUI - 自定義文字檢視
- SwiftUI - 自定義影像檢視
- SwiftUI - 堆疊
- SwiftUI 繪製形狀
- SwiftUI - 形狀
- SwiftUI - 繪製線條
- SwiftUI - 繪製矩形
- SwiftUI - 繪製圓角矩形
- SwiftUI - 繪製三角形
- SwiftUI - 繪製圓形
- SwiftUI - 繪製星形
- SwiftUI - 繪製多邊形
- SwiftUI - 繪製餅圖
- SwiftUI - 使用內建形狀
- SwiftUI - 文字
- SwiftUI - 文字檢視
- SwiftUI - 文字輸入和輸出
- SwiftUI - 顏色
- SwiftUI - 顏色
- SwiftUI - 顏色選擇器
- SwiftUI - 漸變
- SwiftUI - 調整顏色
- SwiftUI - 效果
- SwiftUI - 效果
- SwiftUI - 混合效果
- SwiftUI - 模糊效果
- SwiftUI - 陰影效果
- SwiftUI - 懸停效果
- SwiftUI - 動畫
- SwiftUI - 動畫
- SwiftUI - 建立動畫
- SwiftUI - 建立顯式動畫
- SwiftUI - 多個動畫
- SwiftUI - 轉場
- SwiftUI - 非對稱轉場
- SwiftUI - 自定義轉場
- SwiftUI - 圖片
- SwiftUI - 影像
- SwiftUI - 圖片作為背景
- SwiftUI - 旋轉影像
- SwiftUI - 媒體
- SwiftUI - 檢視佈局
- SwiftUI - 檢視佈局
- SwiftUI - 檢視大小
- SwiftUI - 檢視間距
- SwiftUI - 檢視填充
- SwiftUI - 列表和表格
- SwiftUI - 列表
- SwiftUI - 靜態列表
- SwiftUI - 動態列表
- SwiftUI - 自定義列表
- SwiftUI - 表格
- SwiftUI - 表單
- SwiftUI - 表單
- SwiftUI - 將表單拆分為多個部分
- SwiftUI 有用資源
- SwiftUI - 有用資源
- SwiftUI - 討論
SwiftUI - 基本元件
SwiftUI 是 Apple 的框架,旨在用更少的程式碼和更好的效能為 Apple 的所有平臺(包括 iOS、macOS、watchOS、tvOS、visionOS 等)建立簡單和複雜的介面。
它使用宣告式語法,這意味著我們只需要描述使用者介面應該是什麼樣子以及它的行為方式,SwiftUI 會完成其餘的實現工作。為了建立一個豐富而動態的應用程式,SwiftUI 提供了以下基本元件:
檢視
容器和佈局
修飾符
狀態和資料繫結
導航
手勢
現在,讓我們詳細討論每個元件:
SwiftUI 中的檢視
檢視是開發使用者介面的基本構建塊。或者我們可以說它是使用者介面的一部分,開發人員可以在其中定義介面的佈局和外觀。應用程式中使用者可見的每一部分都源自開發人員在檢視中給出的描述。任何符合 View 協議的型別都充當檢視。
| 名稱 | 描述 | 語法 |
|---|---|---|
| 文字 | 用於顯示文字。 | Text("Hello TutorialsPoint") |
| 影像 | 用於顯示影像。 | Image(systemName: "rectangle") |
| 按鈕 | 用於建立一個可點選的按鈕 | Button(action: { print("Tapped button") }) { Text("Button") } |
| 文字欄位 | 用於顯示文字欄位或建立可編輯的文字介面。 | @State private var age: String = "" TextField("Enter your age", text: $age) |
容器和佈局
佈局和容器是控制子檢視排列方式的結構。一些常用的容器和佈局如下:
| 名稱 | 描述 | 語法 |
|---|---|---|
| VStack | 用於垂直堆疊子檢視。 | VStack { Text("Hello") Text("TutorialsPoint") } |
| HStack | 用於水平堆疊子檢視。 | HStack { Text("Hello") Text("TutorialsPoint") } |
| ZStack | 用於將子檢視重疊。 | ZStack { Rectangle().fill(Color.mint) Text("TutorialsPoint") } |
| 列表 | 用於顯示可滾動的列表資料。 | List { Text("Hello") Text("TutorialsPoint") } |
| 表單 | 用於對資料輸入控制元件進行分組。 | Form { Toggle("Notification", isOn:$isOn) Toggle("Sliding Bar", isOn:$isOn) } |
SwiftUI 中的修飾符
SwiftUI 中的修飾符是用於更改檢視外觀或行為的方法。我們可以按順序在一個元件上應用多個修飾符。使用它們,我們可以建立簡單和複雜的圖案。一些常用的修飾符如下:
| 名稱 | 描述 | 語法 |
|---|---|---|
| padding | 用於在檢視周圍新增填充。 | .padding() |
| background | 用於設定檢視的背景。 | .background() |
| foregroundColor | 用於設定文字或影像的顏色。 | .foregroundColor() |
| fill | 用於設定形狀的顏色。 | .fill() |
| font | 用於更改文字的字型。 | .font() |
| frame | 用於設定框架的大小。 | .frame() |
狀態和資料繫結
狀態和資料繫結用於管理和傳播整個應用程式的資料。狀態用於管理檢視的狀態。每當狀態更新為新值時,SwiftUI 會根據新狀態自動更新檢視。
而繫結用於在 UI 元件及其底層資料模型之間建立關係。它使用雙向通訊。以下是一些常用的狀態和資料繫結物件:
| 名稱 | 描述 | 語法 |
|---|---|---|
| @State | 這是一個屬性包裝器,用於管理檢視內部的狀態 | @State private var myState:Bool = false |
| @Binding | 用於建立與父檢視中 @state 屬性的雙向連線。 | @Binding var myState:Bool = false |
| @ObservedObject | 用於在複雜資料模型中觀察外部可觀察檢視。 | @ObservedObject var myData = MyObservableObject() |
| @EnvironmentObject | 用於在 SwiftUI 層次結構中的所有檢視之間共享資料。 | @EnvironmentObject var myData : MyObservableObject |
SwiftUI 中的導航
導航是建立使用者介面的過程,它允許使用者在應用程式中從一個檢視移動到另一個檢視或螢幕。SwiftUI 提供了各種用於實現導航的工具,一些常用元件如下:
| 名稱 | 描述 | 語法 |
|---|---|---|
| NavigationLink | 用於控制導航呈現。 | 32 |
| Sheet | 用於顯示模態檢視。 | .sheet(isPresented:) |
SwiftUI 中的手勢
手勢用於向檢視新增互動功能。它們允許使用者使用點選、拖動、滑動、旋轉等與應用程式互動。SwiftUI 支援各種內建手勢,您可以使用手勢修飾符在檢視中使用它們。一些常用的手勢如下:
| 名稱 | 描述 | 語法 |
|---|---|---|
| TapGesture | 用於檢測檢視上的點選。 | .onTapGesture() |
| DragGesture | 用於檢測檢視上的拖動動作。 | DragGesture() |
| SpatialTapGesture | 用於識別一個或多個點選並報告其位置。 | SpatialTapGesture() |
廣告