Отображение нескольких панелей навигации при связывании представлений SwithUI - PullRequest
1 голос
/ 01 февраля 2020

У меня есть два представления SwiftUI, которые представляют собой отдельные файлы, которые я связываю с помощью NavigationLink:

View1:

struct ViewOne: View {

    var body: some View {
        NavigationView {
        VStack {
        NavigationLink(destination: ViewTwo()
       .navigationBarBackButtonHidden(true)
) {
                Text("Go to second view")
            }
.navigationBarTitle(Text("First View"), displayMode: .inline)
            }}}}

View2:

struct ViewTwo: View {

        var body: some View {
            NavigationView {
            VStack {
                    Text("Hello world")
                }
    .navigationBarTitle(Text("Second View"), displayMode: .inline)
                }}}

Проблема: на View2 я не хочу .navigationBarBackButton, поэтому я установил его скрытым внутри ViewOne, но поскольку я установил его скрытым, он портится с существующей навигационной панелью на ViewTwo и отображает несколько навигационных панелей

View2

Как отключить навигационную кнопку BarBack, чтобы она не мешала существующей панели навигации в View2?

1 Ответ

0 голосов
/ 01 февраля 2020

NavigationView в одной иерархии представлений должен быть только одним, поэтому просто удалите его в ViewTwo:

struct ViewTwo: View {

        var body: some View {
            VStack {
               Text("Hello world")
            }
            .navigationBarTitle(Text("Second View"), displayMode: .inline)
        }
}
...