【问题标题】:SwiftUI TabView does not appear in Simulator but do appear in xcodeSwiftUI TabView 没有出现在模拟器中,但确实出现在 xcode 中
【发布时间】:2021-06-05 19:31:27
【问题描述】:

enter image description here

TabView 没有出现在模拟器中 [在此处输入图片描述][2]

TabView 在编码时确实出现在 xcode 中 [2]:https://i.stack.imgur.com/BMPJM.png

【问题讨论】:

  • 您能否将一些代码粘贴到您的问题中以重现该问题?
  • 我们需要查看您的代码才能进行故障排除。了解您在模拟器中运行的设备和 iOS 版本也可能会有所帮助。

标签: swift swiftui tabview swiftui-tabview


【解决方案1】:

您需要使用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: ()
                }
            }

【讨论】:

  • 您的代码运行良好。但是我的错误是我没有正确调用 TabView。但是谢谢(Y)
猜你喜欢
  • 1970-01-01
  • 2019-06-17
  • 2018-09-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-09
  • 1970-01-01
相关资源
最近更新 更多