開發環境
此篇使用Xcode版本13.0(13A233)及SwiftUI
介紹開始
延續上篇 Firebase iOS (2) 實作帳號登入篇
登入畫面實在不友善,在此介紹有主頁及登入頁面的寫法
首先新增兩個頁面如下,左邊為主頁面mainPage.swift,右邊為登入頁面login.swift
Xcode -> File -> New -> File... -> iOS -> SwiftUI View
mainPage.swift加入程式碼
VStack {
Text("Hello, world!")
Button("Logout") {
}
}
將原本在ContentView.swift新增的內容搬移到login.swift
並且加入灰色背景
ZStack {
Color.gray.ignoresSafeArea(.all)
VStack {
TextField("Email", text: $email)
...
}
.padding()
}
畫面做完後需要新增一個環境來記錄登入的狀態userData.swift
Xcode -> File -> New -> File... -> iOS -> Swift File
新增程式碼:
class userData: ObservableObject {
@Published var isNeedAuth : Bool = true
}
isNeedAuth
是用來判斷是否需要登入的狀態true
為需要
將狀態新增到mainPage.swift
Button("Logout") {
userdata.isNeedAuth = true
}
及login.swift
func login() {
...
print("success")
userdata.isNeedAuth = false
...
}
最後在ContentView.swift加入主頁就完成了!
var body: some View {
mainPage()
.fullScreenCover(isPresented: $userdata.isNeedAuth){
login()
}
}