SwiftUI:为什么我的 TabView 中会出现重复项?

问题描述 投票:0回答:1

我正在尝试使用 TabView 向我的 SwiftUI 应用程序添加导航栏,如下所示:

import SwiftUI

struct ContentView: View {
    @State var isLoggedIn: Bool = false
    var body: some View {
        NavigationView{
            if isLoggedIn {
                LogInPage()
            } else {
                TabView{
                    HomeScreen()
                        .tabItem {
                            Image(systemName: "house")
                            Text("Hem")
                        }
                    BookingsScreen()
                        .tabItem {
                            Image(systemName: "book")
                            Text("Bokningar")
                        }
                    ProfileScreen()
                        .tabItem {
                            Image(systemName: "person")
                            Text("Profil")
                        }
                }
            }
           
        }
    }
}

但是我得到了两个重复的“房子”图标和它下面的文本“Home”,我还得到了另一个带有三个点的图标和它下面的文本“更多”,实际上是从任何地方来的,因为我什至没有提到任何东西除此之外还有一栋房子、一本书和一个人。当我按下它(三个点)时,它会显示一个“person.fill”列表,旁边带有文本“Profile”。这是我的 TabView 的外观以及当我按下三个点时的一些图像:

swiftui duplicates navigationbar swiftui-tabview
1个回答
0
投票

将重复的视图包装在 VStack 中

       TabView{
            VStack{
                HomeScreen()
            }
                    .tabItem {
                        Image(systemName: "house")
                        Text("Hem")
                    }
                BookingsScreen()
                    .tabItem {
                        Image(systemName: "book")
                        Text("Bokningar")
                    }
           VStack {
                ProfileScreen()
           }
                    .tabItem {
                        Image(systemName: "person")
                        Text("Profil")
                    }
            }
© www.soinside.com 2019 - 2024. All rights reserved.