Firebase iOS (3) 登入主頁完成篇


Posted by quinhsieh on 2022-03-07

開發環境

此篇使用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()
            }
    }

#Firebase #iOS #SwiftUI







Related Posts

【JS幼幼班】Step.07 基本語法:物件型別(object、function)

【JS幼幼班】Step.07 基本語法:物件型別(object、function)

W11_作業一實作_完成留言板

W11_作業一實作_完成留言板

[ Week 1 ] - Git

[ Week 1 ] - Git


Comments