swift 如果在TabView中查看,则不显示导航标题

kzmpq1sx  于 2022-12-17  发布在  Swift
关注(0)|答案(1)|浏览(115)

我有一个内容视图,如下所示。我添加了一个第一视图,其中有选项卡视图指向2个单独的视图。但我的问题是NavigationTitle只是不显示,无论我做什么,这是正常的或错误的一部分

struct ContentView: View {
    @ObservedObject var data: DataController
    var body: some View {
             FirstView(dataController: data)
  }
}

然后,第一个视图在TabView中有2个选项卡项

import SwiftUI

struct FirstView: View {
    @ObservedObject var dataController: DataController
    var body: some View {
        NavigationStack {
            TabView {
               
                MyAdsPageView(dataAd: dataController)
                        .tabItem {
                            Label("Home", systemImage: "house")
                        }
                
                ListPageView()
                    .tabItem {
                        Label("List", systemImage: "list.bullet")
                    }
            }
        }
    }
}

但我的问题是,无论我尝试什么,我似乎不能显示导航标题内. MyAdsPageView

struct MyAdsPageView: View {
   
    @ObservedObject var dataAd: DataController
   
    var body: some View {
       
            NavigationStack {
                
                    List {
                    }
                    .navigationTitle("My List")
    }
}
ruarlubt

ruarlubt1#

在每个标签页视图中进行导航。您的代码将创建一个嵌套的NavigationView,应用程序将混淆为它设置标题。并且每个标签页都有标签是很好的。以这种方式使用它:

struct FirstView: View {
@ObservedObject var dataController: DataController
var body: some View {
    TabView {
        
        MyAdsPageView(dataAd: dataController)
            .tabItem {
                Label("Home", systemImage: "house")
            }
            .tag(0)
        
        ListPageView()
            .tabItem {
                Label("List", systemImage: "list.bullet")
            }
            .tag(1)
    }
    
  }
}

  struct ListPageView: View {
        var body: some View {
            NavigationStack {
                ZStack {
                    
                }
                .navigationTitle("My List")
            }
        }
    }

 struct MyAdsPageView: View {
        var body: some View {
            NavigationStack {
                ZStack {
                    
                }
                .navigationTitle("My Ads")
            }
        }
    }

相关问题