SwiftUI系列-創(chuàng)建第一個SwiftUI項目

SwiftUI空白項目的創(chuàng)建步驟:
1.打開Xcode,然后使用菜單命令:File > New > Project命令,打開項目創(chuàng)建窗口。
2.在項目模板選擇窗口中,選擇Single View App模板,然后點擊Next按鈕,進入下一步設置窗口。
3.在項目配置窗口中,需要在Language:選擇Swift語言,然后在User Interface選擇SwiftUI,然后填寫其它的配置選項,點擊Next按鈕,完成項目的創(chuàng)建。如下圖所示:


截屏2019-12-0410.32.22.png

4.SwiftUI項目創(chuàng)建完成之后,其項目結(jié)構(gòu)和代碼功能如下圖所示:


截屏2019-12-0410.39.10.png

項目導航區(qū)說明:

文件名 說明
AppDelegate.swift 提供didFinishLaunchingWithOptions等方法,用來處理程序啟動之后的事件,或者響應來自外部的事件。
SceneDelegate.swift 設置應用程序窗口的rootViewController,并指定使用哪個ContentView作為rootViewController的rootView。
ContentView.swift 項目的初始界面,用戶界面上的可視控件可以放置在此文件中。
Assets.xcassets 項目的資源文件,您可以在此處放置項目中所需的圖片、顏色等資源。
LaunchScreen.storyboard 用來配置項目啟動過程中所顯示的內(nèi)容。
Info.plist 項目的配置屬性文件,配置產(chǎn)品名稱、版本號、Build號、Bundle Identifier等項目。

代碼編輯區(qū)說明:

//導入SwiftUI框架
import SwiftUI                   

//定義一個名為ContentView的結(jié)構(gòu)體,該結(jié)構(gòu)體遵循View協(xié)議,遵循View協(xié)議的元素才可以在SwiftUI框架中。就像在UIKit中,所見皆UIView一樣,在SwiftUI中,所見皆是View。
struct ContentView: View {       
    //添加View協(xié)議中的body屬性,在body屬性中通過SwiftUI提供的各種布局控件,完成界面元素的搭建。關鍵詞some表示返回的是某種View,但是SwiftUI不需要在意是具體的哪種View
    var body: some View {
        //在屏幕上顯示一個標簽,標簽的內(nèi)容位于雙引號之內(nèi)
        Text("Hello World")
    }
}

//當處于Debug模式時,允許執(zhí)行下方的代碼
#if DEBUG
//定義一個遵循PreviewProvider的結(jié)構(gòu)體,用于設置在右側(cè)預覽區(qū)需要實時預覽的內(nèi)容
struct ContentView_Previews: PreviewProvider {
    //添加PreviewProvider協(xié)議中的previews屬性,用來設置在實時預覽區(qū)顯示的內(nèi)容
    static var previews: some View {
        //設置在實時預覽區(qū)顯示ContentView結(jié)構(gòu)體中的內(nèi)容,您還可以在此設置預覽的模擬器尺寸、是否Dark Mode等選項。
        ContentView()
    }
}
#endif

實時預覽區(qū)說明:
SwiftUI 的 Preview 是 Apple 用來對標 RN 或者 Flutter 的 Hot Reloading 的開發(fā)工具。由于 IBDesignable 的性能上的慘痛教訓,而且得益于 SwiftUI 經(jīng)由 UIKit 的跨 Apple 平臺的特性,Apple 這次選擇了直接在 macOS 上進行渲染。因此,你需要使用搭載有 SwiftUI.framework 的 macOS 10.15 才能夠看到 Xcode Previews 界面。
常用快捷鍵:Option + Command + P 刷新 preview

參考資料
SwiftUI-Guide

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容