SwiftUI TabView 问题

时间:2021-04-02 17:36:38

标签: ios swift swiftui

我正在构建一个应用程序,而且我是 SwiftUI 的初学者,所以这就是我遇到的问题。 我需要一个首先显示的着陆页,我已经为它创建了一个视图,您可以查看它。

     struct LandingView: View {
var body: some View {   
    NavigationView{
    VStack(alignment: .center){
        Image("exxxlogo")
        Spacer()
        Text("Welcome")
            .font(.system(size: 38))
            .fontWeight(.bold)
            .padding(.horizontal, 40)
            .multilineTextAlignment(.center)
            .foregroundColor(Color.white)
        Text("Click below to continue to the app")
            .font(.system(size: 16))
             .padding(.horizontal, 20)
            .multilineTextAlignment(.center)
            .foregroundColor(Color.white)
            .padding(.bottom, 35)
        NavigationLink(destination: HomeView()){
            Text("CONTINUE ")
                  .frame(width: 250, height: 50, alignment: .center)
                  .background(Color.red)
                  .foregroundColor(Color.white)
        }
        
    }
    
        .background(
            
            Image("backgroundlanding")
                
                .frame(maxWidth: .infinity,maxHeight: .infinity)
                .aspectRatio(contentMode: .fill)
                                .edgesIgnoringSafeArea(.top)
                .edgesIgnoringSafeArea(.bottom)
               
    )
}

而且我还为 tabview 创建了视图以将它们重定向到 Home、Shop 等 我已经对我的 Contentview 做了这个

    TabView {
        
       
               HomeView()
                .tabItem{
                    Image(systemName: "house")
                    Text("Home")
                }
        
                GamesView()
                    .tabItem{
                        Image(systemName: "gamecontroller")
                        Text("Games")
        
                
                    }
        
        ShopView()
         .tabItem{
             Image(systemName: "bag")
             Text("Shop")
            }
        
        MoreView()
            .tabItem{
                Image(systemName: "gear")
                Text("More")
        
            }.accentColor(.red)

并在主 app.swift 文件中将窗口组更改为登陆视图,以便它首先弹出。 但问题是当您点击登陆视图中的按钮时,导航链接会将您重定向到主页视图,但下方没有标签视图,只是空白

1 个答案:

答案 0 :(得分:0)

您说您的第二个代码示例来自 ContentView。如果您想显示该 TabView 中的 ContentView,则您的 NavigationLink 应指向 ContentView,而不是 HomeView

NavigationLink(destination: ContentView()) {
            Text("CONTINUE ")
                  .frame(width: 250, height: 50, alignment: .center)
                  .background(Color.red)
                  .foregroundColor(Color.white)
}