如何从 SwiftUI 的后代视图更改 NavigationViewStyle?

A. *_*cas 6 ipad ios swift swiftui

NavigationView在我的应用程序的根目录中有一个初始状态为 的.navigationViewStyle(.stack),但是当我导航时,我想将该样式更改为.doubleColumn.

从我的后代观点来看,我已经尝试navigationViewStyle(.doubleColumn)像更改导航栏标题一样调用,但没有运气。

在根视图中尝试三元运算符也不起作用 navigationViewStyle(isDoubleColumn ? .doubleColumn : .stack)

根视图:

var body: some View {
    NavigationView {
        VStack {
            //stuff
        }
    }
    .navigationViewStyle(.stack)
}
Run Code Online (Sandbox Code Playgroud)

后代视图

var body: some View {
    ScrollView{
        //stuff
    }
    .navigationViewStyle(.doubleColumn) //doesn't work
}
Run Code Online (Sandbox Code Playgroud)

小智 5

DoubleColumnNavigationViewStyle 是一个需要初始化的结构体。试试这样:

.navigationViewStyle(DoubleColumnNavigationViewStyle())
Run Code Online (Sandbox Code Playgroud)