NavigationView SwiftUI在iPad中显示拆分视图

时间:2020-06-28 15:21:39

标签: swift swiftui navigationview

NavigationViewUIHostingController的根,以下代码显示了iPad的拆分视图。

struct ContentView: View {
    var body: some View {
        
        NavigationView {
            Text("Hello")
                .navigationBarTitle("Home")
        }
    }
}

使用上面的代码,它显示了iPad上的拆分视图。我仍要使用NavigationView并摆脱iPad的拆分视图,因为我希望拥有一个列表,点击它应按另一个视图?

enter image description here enter image description here

2 个答案:

答案 0 :(得分:5)

显式使用堆栈导航视图样式(默认情况下,它取决于平台)

NavigationView {
   Text("Hello")
       .navigationBarTitle("Home")
}
.navigationViewStyle(StackNavigationViewStyle())

答案 1 :(得分:0)

这对我不起作用,也不适用于使用IOS 14.2在iPad上使用任何其他NavigationStyle的情况。根视图始终看起来像这样。

    var body: some View {
    NavigationView {
        VStack {
            List {
                ForEach(self.ideas) { Idea in
                    IdeaListRow(idea: Idea)
                }
                .onDelete { (indexSet) in
                    let ideaToDelete = self.ideas[indexSet.first!]
                    self.managedObjectContext.delete(ideaToDelete)
                    
                    do {
                        try self.managedObjectContext.save()
                    } catch {
                        print(error)
                    }
                }
            }
            .navigationViewStyle(DoubleColumnNavigationViewStyle())
            .navigationBarTitle(Text("Idea List"))
            .listStyle(GroupedListStyle())
            .navigationBarItems(leading:
                                    NavigationLink(destination: AddView()) {
                                        Text("Add")
                                    } , trailing: EditButton())
        }
    }
}

enter image description here