內容簡介
【好評推薦】
「本書SwiftUI的觀念說明通暢且簡潔,採用的App範例也非常棒,可以知道如何將其觀念運用在真實的App中。」
— Qiang Ma
「本書是一本非常優秀的著作,解說詳實與容易理解。Simon及其團隊所分享的內容,讓我們更加喜愛原生的Apple開發技術,其內容讀起來就是這麼過癮。」
— Pedro,RyanAir
「這本書寫得太好了,幾乎大部分SwiftUI的觀念(包括UIKit的整合)都有詳細的介紹。」
— Gary S
「AppCoda推出的Swift書籍極易理解,讓學習iOS程式設計變得輕鬆,而範例程式非常實用,有助於自己開發其他App。」
— Mark Mueller
「我報名學習了數個SwiftUI線上課程,不過我認為本書是最為清楚與完整的。」
— Michele,CMC
「這是我至今所找到的最棒書籍。雖然才看到一半,不過整本書寫得很好,不僅告訴我們如何實作,還詳細說明了完整的工作原理。」
— David Avraamides,Noisy Signal
「超愛這本書!清楚與說明詳實,與真實世界的開發能夠完全同步。」
— Rest Rapp
【本書特色】
從做中學,透過實作來探索SwiftUI
使用SwiftUI框架做出不同類型的使用者介面
聰明運用SwiftUI和Combine框架開發iOS App
快速強化iOS App開發的實務應用能力
♚使用Xcode 14 & iOS 16開發
♚處理文字及圖片
♚了解狀態及綁定
♚應用UI控制元件
♚輕鬆建立表單
♚進行資料共享
♚使用滾動視圖建立輪播式UI
♚實作導覽堆疊及自訂導覽列
♚實作路徑與形狀來繪製圖形
♚使用堆疊建立複雜佈局
♚製作動畫及轉場效果
♚實作模態視圖、浮動按鈕及警告提示視窗
♚建立多樣化佈局的清單視圖
♚運用內容選單、手勢與動作表
♚運用JSON、滑桿與資料篩選
♚使用外觀定位點顯示展開式底部表
【內容簡介】
本書精心設計了21個章節,採用「從做中學」的方式來探索SwiftUI,內容集合了許多實作練習與專案。我們將逐步了解如何以宣告式語法來建立使用者介面,並深入探討SwiftUI框架,教你如何使用各種UI控制元件,並建立不同類型的使用者介面。有了基礎知識,且了解這些通用元件的用法之後,我們會將你所學到的知識放在一起,你將學會建立一個完整的應用程式。
本書是為SwiftUI框架的初學者與開發者所撰寫,不論你是剛學習iOS App開發或是有經驗的iOS開發者,本書皆可幫助你有效學習SwiftUI,你還將學習如何以SwiftUI來整合UIKit,本書絕對是你強化iOS App開發實務的必讀首選。
【本書精采內容】
✪SwiftUI介紹。
✪處理文字及圖片。
✪使用堆疊佈局使用者介面。
✪應用UI控制元件。
✪實作路徑與形狀來繪製圖形。
✪使用滾動視圖來建立輪播式UI。
✪了解狀態與綁定。
✪學習重構程式碼。
✪了解基礎動畫與轉場。
✪了解清單、ForEach與識別。
✪使用SwiftUI按鈕、標籤與漸層。
✪使用導覽UI與自訂導覽列。
✪實作模態視圖、浮動按鈕與警告提示視窗。
✪使用選擇器、切換開關與步進器建立表單。
✪使用Combine與Environment物件進行資料共享。
✪使用滑動刪除、內容選單與動作表。
✪使用Combine與視圖模型建立註冊表單。
✪了解SwiftUI的內建手勢。
✪使用外觀定位點顯示展開式底部表。
✪使用手勢與動畫建立如Tinder的UI。
✪建立如Apple錢包的動畫與視圖轉場。
✪使用JSON、滑桿與資料篩選。
✪學習結合UIKit與SwiftUI。
「本書SwiftUI的觀念說明通暢且簡潔,採用的App範例也非常棒,可以知道如何將其觀念運用在真實的App中。」
— Qiang Ma
「本書是一本非常優秀的著作,解說詳實與容易理解。Simon及其團隊所分享的內容,讓我們更加喜愛原生的Apple開發技術,其內容讀起來就是這麼過癮。」
— Pedro,RyanAir
「這本書寫得太好了,幾乎大部分SwiftUI的觀念(包括UIKit的整合)都有詳細的介紹。」
— Gary S
「AppCoda推出的Swift書籍極易理解,讓學習iOS程式設計變得輕鬆,而範例程式非常實用,有助於自己開發其他App。」
— Mark Mueller
「我報名學習了數個SwiftUI線上課程,不過我認為本書是最為清楚與完整的。」
— Michele,CMC
「這是我至今所找到的最棒書籍。雖然才看到一半,不過整本書寫得很好,不僅告訴我們如何實作,還詳細說明了完整的工作原理。」
— David Avraamides,Noisy Signal
「超愛這本書!清楚與說明詳實,與真實世界的開發能夠完全同步。」
— Rest Rapp
【本書特色】
從做中學,透過實作來探索SwiftUI
使用SwiftUI框架做出不同類型的使用者介面
聰明運用SwiftUI和Combine框架開發iOS App
快速強化iOS App開發的實務應用能力
♚使用Xcode 14 & iOS 16開發
♚處理文字及圖片
♚了解狀態及綁定
♚應用UI控制元件
♚輕鬆建立表單
♚進行資料共享
♚使用滾動視圖建立輪播式UI
♚實作導覽堆疊及自訂導覽列
♚實作路徑與形狀來繪製圖形
♚使用堆疊建立複雜佈局
♚製作動畫及轉場效果
♚實作模態視圖、浮動按鈕及警告提示視窗
♚建立多樣化佈局的清單視圖
♚運用內容選單、手勢與動作表
♚運用JSON、滑桿與資料篩選
♚使用外觀定位點顯示展開式底部表
【內容簡介】
本書精心設計了21個章節,採用「從做中學」的方式來探索SwiftUI,內容集合了許多實作練習與專案。我們將逐步了解如何以宣告式語法來建立使用者介面,並深入探討SwiftUI框架,教你如何使用各種UI控制元件,並建立不同類型的使用者介面。有了基礎知識,且了解這些通用元件的用法之後,我們會將你所學到的知識放在一起,你將學會建立一個完整的應用程式。
本書是為SwiftUI框架的初學者與開發者所撰寫,不論你是剛學習iOS App開發或是有經驗的iOS開發者,本書皆可幫助你有效學習SwiftUI,你還將學習如何以SwiftUI來整合UIKit,本書絕對是你強化iOS App開發實務的必讀首選。
【本書精采內容】
✪SwiftUI介紹。
✪處理文字及圖片。
✪使用堆疊佈局使用者介面。
✪應用UI控制元件。
✪實作路徑與形狀來繪製圖形。
✪使用滾動視圖來建立輪播式UI。
✪了解狀態與綁定。
✪學習重構程式碼。
✪了解基礎動畫與轉場。
✪了解清單、ForEach與識別。
✪使用SwiftUI按鈕、標籤與漸層。
✪使用導覽UI與自訂導覽列。
✪實作模態視圖、浮動按鈕與警告提示視窗。
✪使用選擇器、切換開關與步進器建立表單。
✪使用Combine與Environment物件進行資料共享。
✪使用滑動刪除、內容選單與動作表。
✪使用Combine與視圖模型建立註冊表單。
✪了解SwiftUI的內建手勢。
✪使用外觀定位點顯示展開式底部表。
✪使用手勢與動畫建立如Tinder的UI。
✪建立如Apple錢包的動畫與視圖轉場。
✪使用JSON、滑桿與資料篩選。
✪學習結合UIKit與SwiftUI。
作者簡介
Simon Ng
軟體工程師&AppCoda創辦人。畢業於香港中文大學電子工程系,曾任職於HSBC、FedEx等公司,專責軟體開發、系統設計。2012年創立AppCoda技術部落格,定期發表iOS程式教學文章,其部落格每月吸引20多萬名讀者點閱。現在致力於iOS程式教學、產品設計及開發,希望幫助更多人進入iOS的程式世界。
【英文網站】
www.appcoda.com
【中文網站】
www.appcoda.com.tw
【AppCoda開發者社群】
facebook.com/groups/appcodatw
軟體工程師&AppCoda創辦人。畢業於香港中文大學電子工程系,曾任職於HSBC、FedEx等公司,專責軟體開發、系統設計。2012年創立AppCoda技術部落格,定期發表iOS程式教學文章,其部落格每月吸引20多萬名讀者點閱。現在致力於iOS程式教學、產品設計及開發,希望幫助更多人進入iOS的程式世界。
【英文網站】
www.appcoda.com
【中文網站】
www.appcoda.com.tw
【AppCoda開發者社群】
facebook.com/groups/appcodatw
內容目錄
|CHAPTER 01| SwiftUI介紹
1.1 宣告式程式設計vs命令式程式設計
1.2 不再需要介面建構器與自動佈局
1.3 Combine方式
1.4 學一次,到處適用
1.5 與UIKit/AppKit/WatchKit的介接
1.6 下一個專案改採SwiftUI
|CHAPTER 02| 開始使用SwiftUI及處理文字
2.1 建立新專案來使用SwiftUI
2.2 顯示簡單的文字
2.3 變更字型與顏色
2.4 處理多行文字
2.5 設定間距與行距
2.6 旋轉文字
2.7 使用自訂字型
2.8 本章小結
|CHAPTER 03| 處理圖片與標籤
3.1 建立新專案來運用圖片
3.2 認識SF Symbols
3.3 顯示系統圖片
3.4 使用自己的圖片
3.5 調整圖片大小
3.6 Aspect Fit與Aspect Fill
3.7 建立圓形圖片
3.8 調整不透明度
3.9 應用圖片重疊
3.10 應用重疊使圖片變暗
3.11 將多色套用於SF Symbols
3.12 可變顏色
3.13 本章小結
|CHAPTER 04| 使用堆疊佈局使用者介面
4.1 認識VStack、HStack與ZStack
4.2 啟用SwiftUI建立新專案
4.3 使用VStack
4.4 使用HStack
4.5 整理程式碼
4.6 使用ZStack
4.7 作業①:佈局Team售價方案
4.8 SwiftUI中處理可選型別
4.9 使用留白
4.10 作業②:建立新佈局
|CHAPTER 05| 了解滾動視圖及建立輪播式UI
5.1 建立卡片式UI
5.2 ScrollView介紹
5.3 作業①:加入標題至現有滾動視圖
5.4 使用水平滾動視圖建立輪播式UI
5.5 隱藏滾動指示器
5.6 群組視圖內容
5.7 自動調整文字大小
5.8 作業②:重新排列視圖
|CHAPTER 06| 使用SwiftUI按鈕、標籤與漸層
6.1 啟用SwiftUI建立新專案
6.2 自訂按鈕的字型與背景
6.3 按鈕加上邊框
6.4 建立帶有圖片與文字的按鈕
6.5 使用標籤
6.6 建立帶有漸層背景與陰影的按鈕
6.7 建立全寬度按鈕
6.8 使用ButtonStyle設計按鈕樣式
6.9 作業:旋轉圖示
6.10 在iOS中設計按鈕樣式
6.11 將樣式應用於多個按鈕
6.12 使用按鈕角色
6.13 本章小結
|CHAPTER 07| 了解狀態與綁定
7.1 啟用SwiftUI建立新專案
7.2 控制按鈕的狀態
7.3 作業①:建立計數器按鈕
7.4 使用綁定
7.5 作業②:使每個按鈕都有自己的計數器
7.6 本章小結
|CHAPTER 08| 實作路徑與形狀來繪製線條與圓餅圖
8.1 了解Path
8.2 使用Stroke繪製邊框
8.3 繪製曲線
8.4 Fill與Stroke
8.5 繪製圓弧與圓餅圖
8.6 了解Shape協定
8.7 使用內建形狀
8.8 使用Shape建立進度指示器
8.9 繪製環圈圖
8.10 本章小結
|CHAPTER 09| 基礎動畫與轉場
9.1 隱式動畫與顯式動畫
9.2 使用RotationEffect建立下載指示器
9.3 建立進度指示器
9.4 延遲動畫
9.5 將矩形變形為圓形
9.6 了解轉場
9.7 作業①:使用動畫與轉場建立精美按鈕
9.8 作業②:視圖轉場動畫
9.9 本章小結
|CHAPTER 10| 了解清單、ForEach與識別
10.1 建立簡單的清單
10.2 建立具有文字與圖片的清單視圖
10.3 重構程式碼
10.4 變更分隔線的顏色
10.5 隱藏清單分隔線
10.6 自訂滾動區域的背景
10.7 作業:建立多樣化佈局的清單視圖
|CHAPTER 11| 使用導覽UI及自訂導覽列
11.1 準備起始專案
11.2 實作導覽堆疊
11.3 使用NavigationLink傳送資料至細節視圖
11.4 自訂導覽列
11.5 設定字型與顏色
11.6 自訂返回按鈕的圖片與顏色
11.7 自訂返回按鈕
11.8 作業:建立導覽UI
11.9 建立細節視圖
11.10 移除揭示指示器
11.11 帶有自訂返回按鈕的精緻UI
11.12 本章小結
|CHAPTER 12| 實作模態視圖、浮動按鈕與警告提示視窗
12.1 了解SwiftUI的工作表
12.2 準備起始專案
12.3 使用isPresented實作模態視圖
12.4 使用可選綁定實作模態視圖
12.5 建立浮動按鈕來關閉模態視圖
12.6 使用警告提示視窗
12.7 顯示全螢幕模態視圖
12.8 本章小結
|CHAPTER 13| 使用選擇器、切換開關與步進器建立表單
13.1 準備起始專案
13.2 建立表單UI
13.3 建立選擇器視圖
13.4 使用切換開關
13.5 使用步進器
13.6 顯示表單
13.7 作業:關閉設定視圖
13.8 下一章的主題
|CHAPTER 14| 使用Combine與Environment物件進行資料共享
14.1 使用列舉重構程式碼
14.2 在UserDefaults中儲存使用者偏好
14.3 使用@EnvironmentObject在視圖間共享資料
14.4 實作篩選選項
14.5 實作排序選項
14.6 下一章的主題
|CHAPTER 15| 使用Combine與視圖模型建立註冊表單
15.1 使用SwiftUI佈局表單
15.2 了解Combine
15.3 Combine與MVVM
15.4 本章小結
|CHAPTER 16| 使用滑動刪除、內容選單與動作表
16.1 準備起始專案
16.2 實作滑動刪除
16.3 建立內容選單
16.4 使用動作表
16.5 作業:加入打卡功能
|CHAPTER 17| 了解手勢
17.1 使用手勢修飾器
17.2 使用長按手勢
17.3 @GestureState屬性包裹器
17.4 使用拖曳手勢
17.5 組合手勢
17.6 使用列舉重構程式碼
17.7 建立通用的可拖曳視圖
17.8 作業:建立通用的可縮放視圖
17.9 本章小結
|CHAPTER 18| 使用外觀定位點顯示展開式底部表
18.1 外觀定位點介紹
18.2 了解起始專
1.1 宣告式程式設計vs命令式程式設計
1.2 不再需要介面建構器與自動佈局
1.3 Combine方式
1.4 學一次,到處適用
1.5 與UIKit/AppKit/WatchKit的介接
1.6 下一個專案改採SwiftUI
|CHAPTER 02| 開始使用SwiftUI及處理文字
2.1 建立新專案來使用SwiftUI
2.2 顯示簡單的文字
2.3 變更字型與顏色
2.4 處理多行文字
2.5 設定間距與行距
2.6 旋轉文字
2.7 使用自訂字型
2.8 本章小結
|CHAPTER 03| 處理圖片與標籤
3.1 建立新專案來運用圖片
3.2 認識SF Symbols
3.3 顯示系統圖片
3.4 使用自己的圖片
3.5 調整圖片大小
3.6 Aspect Fit與Aspect Fill
3.7 建立圓形圖片
3.8 調整不透明度
3.9 應用圖片重疊
3.10 應用重疊使圖片變暗
3.11 將多色套用於SF Symbols
3.12 可變顏色
3.13 本章小結
|CHAPTER 04| 使用堆疊佈局使用者介面
4.1 認識VStack、HStack與ZStack
4.2 啟用SwiftUI建立新專案
4.3 使用VStack
4.4 使用HStack
4.5 整理程式碼
4.6 使用ZStack
4.7 作業①:佈局Team售價方案
4.8 SwiftUI中處理可選型別
4.9 使用留白
4.10 作業②:建立新佈局
|CHAPTER 05| 了解滾動視圖及建立輪播式UI
5.1 建立卡片式UI
5.2 ScrollView介紹
5.3 作業①:加入標題至現有滾動視圖
5.4 使用水平滾動視圖建立輪播式UI
5.5 隱藏滾動指示器
5.6 群組視圖內容
5.7 自動調整文字大小
5.8 作業②:重新排列視圖
|CHAPTER 06| 使用SwiftUI按鈕、標籤與漸層
6.1 啟用SwiftUI建立新專案
6.2 自訂按鈕的字型與背景
6.3 按鈕加上邊框
6.4 建立帶有圖片與文字的按鈕
6.5 使用標籤
6.6 建立帶有漸層背景與陰影的按鈕
6.7 建立全寬度按鈕
6.8 使用ButtonStyle設計按鈕樣式
6.9 作業:旋轉圖示
6.10 在iOS中設計按鈕樣式
6.11 將樣式應用於多個按鈕
6.12 使用按鈕角色
6.13 本章小結
|CHAPTER 07| 了解狀態與綁定
7.1 啟用SwiftUI建立新專案
7.2 控制按鈕的狀態
7.3 作業①:建立計數器按鈕
7.4 使用綁定
7.5 作業②:使每個按鈕都有自己的計數器
7.6 本章小結
|CHAPTER 08| 實作路徑與形狀來繪製線條與圓餅圖
8.1 了解Path
8.2 使用Stroke繪製邊框
8.3 繪製曲線
8.4 Fill與Stroke
8.5 繪製圓弧與圓餅圖
8.6 了解Shape協定
8.7 使用內建形狀
8.8 使用Shape建立進度指示器
8.9 繪製環圈圖
8.10 本章小結
|CHAPTER 09| 基礎動畫與轉場
9.1 隱式動畫與顯式動畫
9.2 使用RotationEffect建立下載指示器
9.3 建立進度指示器
9.4 延遲動畫
9.5 將矩形變形為圓形
9.6 了解轉場
9.7 作業①:使用動畫與轉場建立精美按鈕
9.8 作業②:視圖轉場動畫
9.9 本章小結
|CHAPTER 10| 了解清單、ForEach與識別
10.1 建立簡單的清單
10.2 建立具有文字與圖片的清單視圖
10.3 重構程式碼
10.4 變更分隔線的顏色
10.5 隱藏清單分隔線
10.6 自訂滾動區域的背景
10.7 作業:建立多樣化佈局的清單視圖
|CHAPTER 11| 使用導覽UI及自訂導覽列
11.1 準備起始專案
11.2 實作導覽堆疊
11.3 使用NavigationLink傳送資料至細節視圖
11.4 自訂導覽列
11.5 設定字型與顏色
11.6 自訂返回按鈕的圖片與顏色
11.7 自訂返回按鈕
11.8 作業:建立導覽UI
11.9 建立細節視圖
11.10 移除揭示指示器
11.11 帶有自訂返回按鈕的精緻UI
11.12 本章小結
|CHAPTER 12| 實作模態視圖、浮動按鈕與警告提示視窗
12.1 了解SwiftUI的工作表
12.2 準備起始專案
12.3 使用isPresented實作模態視圖
12.4 使用可選綁定實作模態視圖
12.5 建立浮動按鈕來關閉模態視圖
12.6 使用警告提示視窗
12.7 顯示全螢幕模態視圖
12.8 本章小結
|CHAPTER 13| 使用選擇器、切換開關與步進器建立表單
13.1 準備起始專案
13.2 建立表單UI
13.3 建立選擇器視圖
13.4 使用切換開關
13.5 使用步進器
13.6 顯示表單
13.7 作業:關閉設定視圖
13.8 下一章的主題
|CHAPTER 14| 使用Combine與Environment物件進行資料共享
14.1 使用列舉重構程式碼
14.2 在UserDefaults中儲存使用者偏好
14.3 使用@EnvironmentObject在視圖間共享資料
14.4 實作篩選選項
14.5 實作排序選項
14.6 下一章的主題
|CHAPTER 15| 使用Combine與視圖模型建立註冊表單
15.1 使用SwiftUI佈局表單
15.2 了解Combine
15.3 Combine與MVVM
15.4 本章小結
|CHAPTER 16| 使用滑動刪除、內容選單與動作表
16.1 準備起始專案
16.2 實作滑動刪除
16.3 建立內容選單
16.4 使用動作表
16.5 作業:加入打卡功能
|CHAPTER 17| 了解手勢
17.1 使用手勢修飾器
17.2 使用長按手勢
17.3 @GestureState屬性包裹器
17.4 使用拖曳手勢
17.5 組合手勢
17.6 使用列舉重構程式碼
17.7 建立通用的可拖曳視圖
17.8 作業:建立通用的可縮放視圖
17.9 本章小結
|CHAPTER 18| 使用外觀定位點顯示展開式底部表
18.1 外觀定位點介紹
18.2 了解起始專