NavigationView SwiftUI在iPad中显示分割视图
由于NavigationView SwiftUI在iPad中显示分割视图,swift,swiftui,navigationview,Swift,Swiftui,Navigationview,由于NavigationView是UIHostingController的根目录,下面的代码显示了iPad的拆分视图 struct ContentView: View { var body: some View { NavigationView { Text("Hello") .navigationBarTitle("Home") }
NavigationView
是UIHostingController
的根目录,下面的代码显示了iPad的拆分视图
struct ContentView: View {
var body: some View {
NavigationView {
Text("Hello")
.navigationBarTitle("Home")
}
}
}
上面的代码显示了iPad上的拆分视图。我怎样才能继续使用NavigationView
,摆脱iPad的拆分视图,因为我希望有一个列表,点击它可以推送另一个视图
明确使用堆栈导航视图样式(默认情况下,它取决于平台)
这对我来说不起作用,在使用IOS 14.2的iPad上使用任何其他导航方式也不起作用。根视图总是这样
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())
}
}
}
效果很好!请注意:
.navigationViewStyle
修饰符必须直接附加到NavigationView
,如下所示。我最初把它附加到我的内心世界,但它不起作用。
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())
}
}
}