SwiftUI TabView 没有出现在模拟器中,但出现在 xcode 中

问题描述

enter image description here

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: ()
                }
            }

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...