Files
e-party-iOS/yana/Views/HomeView.swift
edwinQQQ 750eecf6ff feat: 更新FeedView、HomeView和MeView以增强用户界面和交互体验
- 在FeedView中添加加号按钮,允许用户进行操作。
- 更新HomeView以支持全屏显示和更好的布局。
- 在MeView中优化用户信息展示,增加用户ID显示。
- 调整底部导航栏样式,提升视觉效果和用户体验。
- 确保视图在安全区域内适配,增强整体布局的适应性。
2025-07-11 12:01:47 +08:00

64 lines
2.0 KiB
Swift

import SwiftUI
import ComposableArchitecture
struct HomeView: View {
let store: StoreOf<HomeFeature>
@ObservedObject private var localizationManager = LocalizationManager.shared
@State private var selectedTab: Tab = .feed
var body: some View {
WithPerceptionTracking {
GeometryReader { geometry in
ZStack {
// 使 "bg" -
Image("bg")
.resizable()
.aspectRatio(contentMode: .fill)
.frame(maxWidth: .infinity, maxHeight: .infinity)
.clipped()
.ignoresSafeArea(.all)
// -
ZStack {
switch selectedTab {
case .feed:
FeedView()
.transition(.opacity)
case .me:
MeView()
.transition(.opacity)
}
}
.frame(maxWidth: .infinity, maxHeight: .infinity)
// -
VStack {
Spacer()
BottomTabView(selectedTab: $selectedTab)
}
.padding(.bottom, geometry.safeAreaInsets.bottom + 100)
}
}
.onAppear {
store.send(.onAppear)
}
.sheet(isPresented: Binding(
get: { store.isSettingPresented },
set: { _ in store.send(.settingDismissed) }
)) {
SettingView(store: store.scope(state: \.settingState, action: \.setting))
}
}
}
}
#Preview {
HomeView(
store: Store(
initialState: HomeFeature.State()
) {
HomeFeature()
}
)
}