// // ContentUIView.swift // fiveConstant // // Created by 李建 on 2023/1/29. // import Foundation import SwiftUI import SwiftyUserDefaults struct ContentUIView: View { @StateObject var viewRouter: ViewRouter @EnvironmentObject var progressState: ProgressState; @StateObject var userInfoData: UserInfoData = UserInfoData() var body: some View { GeometryReader { geometry in NavigationView { VStack { switch viewRouter.currentPage { case .home: IndexUIView(userInfoData: userInfoData) case .my: MyUIView() case .found: FoundUIView() case .room: RoomUIView() } Spacer() ZStack { HStack { TabBarIcon(viewRouter: viewRouter, assignedPage: .home, width: geometry.size.width/4, height: geometry.size.height/32, systemIconName: "house.fill", tabName: "首页") .frame(maxWidth: .infinity) TabBarIcon(viewRouter: viewRouter, assignedPage: .room, width: geometry.size.width/4, height: geometry.size.height/32, systemIconName: "entry.lever.keypad.fill", tabName: "房间") .frame(maxWidth: .infinity) TabBarIcon(viewRouter: viewRouter, assignedPage: .found, width: geometry.size.width/4, height: geometry.size.height/32, systemIconName: "magnifyingglass.circle.fill", tabName: "发现") .frame(maxWidth: .infinity) TabBarIcon(viewRouter: viewRouter, assignedPage: .my, width: geometry.size.width/4, height: geometry.size.height/32, systemIconName: "person.crop.circle.fill", tabName: "我的") .frame(maxWidth: .infinity) } // 将宽度设置为父视图的宽度大小,高度需要微调,可以设置为具体是数值,比如 100 .frame(width: geometry.size.width, height: geometry.size.height/9) .background(Color.gray.opacity(0.05)) } } .ignoresSafeArea(edges: .bottom) }.navigationBarHidden(true) }.onAppear { HttpRequest.loadData(target: UserApi.curent) { returnData in Defaults[\.phone] = returnData.phone Defaults[\.defaultHomeId] = returnData.default_home_id Defaults[\.realName] = returnData.real_name Defaults[\.userName] = returnData.user_name Defaults[\.photo] = returnData.photo userInfoData.photo = returnData.photo } } } }