Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
4.2k views
in Technique[技术] by (71.8m points)

swiftui - Weird behavior when mixing NavigationView and TabView

I'm having trouble getting NavigationView and TabView to co-exist. I have this iPad app using a SideBar:

NavigationView {
    Sidebar()
    DetailView()
}

I populate the List in the SideBar and wrap the list items like so:

NavigationLink(destination: SomeTestView()) {
    SideBarRowView(item: item)
}

The detail view:

struct SomeTestView: View {
    var body: some View {
        HStack {
            Text("Summary")
        }
        .navigationBarTitleDisplayMode(.inline)
        .navigationBarTitle(Text("Performance"))
    }
}

This works fine. Up to here, it's all good.

The problem: the moment I add a TabView to SomeTestView, the NavigationView stops showing the title. If I happen to have a trailing icon in the nav bar, it never shows up. Remove the TabView and it looks great.

Question: how is NavigationView and TabView supposed to work when the app uses a Sidebar? The way I understand it, the nav bar is the parent view, from which detail views can be pushed. If one of these details views contains a tab view... what then? Adding an additional NavigationView outside or inside TabView only makes things worse, as we now have 2 stacked nav bars.

Any ideas? Thanks!


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
等待大神解答

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...