问题描述
TabView 没有出现在模拟器中 [在此处输入图片说明][2]
TabView 在编码时确实出现在 xcode 中 [2]:https://i.stack.imgur.com/BMPJM.png
解决方法
您需要使用 ZStack
根据所选标签更改视图。
这是我的示例代码。希望对你有帮助。
var body: some View {
VStack(spacing: 0) {
// Contents
GeometryReader { _ in
ZStack{
DebugLogView()
.opacity(selectedTab == "debug" ? 1 : 0)
DiaryView()
.opacity(selectedTab == "diary" ? 1 : 0)
CommunityView()
.opacity(selectedTab == "community" ? 1 : 0)
ProfileView()
.opacity(selectedTab == "profile" ? 1 : 0)
}
.edgesIgnoringSafeArea(.all)
}
.onChange(of: selectedTab) { (_) in
switch selectedTab {
case "diary": if !mainViewModel.isDiaryLoaded { mainViewModel.loadDiaryView() }
case "community": if !mainViewModel.isCommunityLoaded { mainViewModel.loadCommunityView() }
case "profile": if !mainViewModel.isProfileLoaded { mainViewModel.loadProfileView() }
default: ()
}
}