bullseye 小遊戲
raywenderlich - Your First ios and SwiftUI App
上完彼得潘的課程之後,想要繼續提升寫 APP 的能力,就趁著黑色星期五訂了一年的 raywenderlich 會員。剛開始看 raywenderlich 的教學影片時沒中文字幕的影片讓我覺得是在看英文教學影片的錯覺,多看幾遍之後發現作者將程式跟觀念解釋得很清楚。
依照 raywenderlich 網站的 iOS and Swift for Beginners 路徑有22個單元,每單元長度最長的有4小時多,最短的有在半小時以內的,跟著路徑走希望我能脫離 ios 新手。
順帶一提,22個單元大部分都需要付費的,但是這個單元是免費,所以我把程式碼放到 gtihub 上,下方紀錄的是我沒看過或者不熟的程式碼。
▼SwiftUI程式裡面的變數
這裡的 @State 是新的 Swift 用法,可以在每次變動數值 UI 也會同時更新狀態, midnightBlue 因為不用更新,所以不用加上@State,詳細的中文解釋在參考資料中。
▼為了符合 DRY 自定一個新的 object
程式中很有可能會有重複的程式碼,重複的程式一多就會有維護上的困難,因此要盡量避免的,這就稱為 DRY ( Don't Repeat Yourself)原則。
這裡程式碼為了符合原則所以將有重複使用到的樣式寫成一個 object ( struct 型態),之後若需要用只需呼叫 LabelStyle 而不用重複寫一次程式碼。
第一行的 ViewModifier 會接收 view,並且將 view 設定成想要的樣子再返回。
▼將 info 畫面顯示
這裡其中一個的重點是 NavigationLink 的使用,NavigationLink(destination: Destination, @ViewBuilder label: () -> Label),destination 代表要前往的頁面,label 則是連結會顯示的內容。
另一個重點則是 navigationBarTitle ,這裡的 navigationBarTitle 是在 VStack 下的一個方法,用意是能在畫面中加上標題。
▼結果
▼GitHub
▼參考資料