來寫一個訂飲料app
Published in
Sep 14, 2023
寫這個APP的時後發現最難的不是寫程式碼,而是調整auto layout及搜集飲料菜單把它寫成JSON,真的好瘋啊,第一次用auto layout的時候整整花了三天才稍稍可以切出一個像樣的版本。
今天就先來專案大致上的功能吧,並大概說一下每個頁面用到的技術。後續程式碼之後再詳細介紹 Let’s go!
學習目標
- Auto Layout
- API串接
- UserDefaults
- airtable創建訂單資料
- github創建JSON的飲料菜單API
- FavQs模擬使用者登入拿token
- collection view
- UIAlertController
成果 - 菜單頁面
- banner使用scroll view + Timer.scheduledTimer做輪播
- 選單Bar下拉選單使用collection view切版
- 飲料List使用table view,將飲料分成多個section
- 使用github自己建立的Json Api 資料
- 使用@IBSegueAction將飲料選項資料傳遞到詳細頁
成果 -菜單頁面
- 使用scroll view + Frame Layout做固定在底下的浮動元件
- 使用computed計算金額
- UserDefaults取得登入者的名字,判斷是否需要導進登入頁面
- 利用airtable儲存訂單資訊
- UIAlertController顯示提示訊息
成果 - 登入頁面
- JSONEncoder及JSONDecoder解碼及編碼api資料
- URLSession.shared.dataTask打api
- FavQs模擬使用者登入拿token後,UserDefaults儲存登入者的名字
- instantiateViewController及present跳轉回菜單頁面
成果 — 訂單頁面
- tableview的editingStyle做出刪除的方法
- UIActivityIndicatorView做出api撈取資料的狀態
- randomElement亂數隨機跑出頭像的emoji以及背景
附上github