В SwiftUI, NavigationBarItem, в представлении, выдвигаемом NavigationLink, встроенным в ScrollView внутри List или Form, не работает? - PullRequest
0 голосов
/ 14 марта 2020

При использовании NavigationLink внутри ScrollView внутри List или Form до pu sh TestDetail(), NavigationLink работает, но navigationBarItems в TestDetail() не работают .

Вот фрагмент кода, который повторяет проблему. Обратите внимание, что пункт 1 работает, но пункт 2 не работает. Может кто-нибудь сообщить мне, что я могу делать неправильно?

struct TestMaster: View {
    var body: some View {
        NavigationView {
            List {
                /// 1. Success - NavigationLink pushes TestDetail and trailing NavigationBarItem works
                NavigationLink(destination: TestDetail()) {
                    Text("Success")
                }

                /// 2. Failure - NavigationLink inside ScrollView pushes TestDetail, but NavigationBarItem doesn't work
                ScrollView(.horizontal, showsIndicators: false) {
                    HStack {
                        NavigationLink(destination: TestDetail()) {
                            Text("Failure")
                        }
                    }
                }
            }
        }
    }
}

struct TestDetail: View {
    var body: some View {
        Text("Nothing, just testing ...")
            .navigationBarItems(trailing:
                Button(action: {
                    print("printing something ...")
                }, label: {
                    Text("Print")
                })
        )
    }
}

РЕДАКТИРОВАТЬ: Обновлено в соответствии с комментарием @ Аспери ниже.

...