因此,当我在 SwiftUI 中创建列表时,我可以“免费”获得主从拆分视图。
例如:
import SwiftUI
struct ContentView : View {
var people = ["Angela", "Juan", "Yeji"]
var body: some View {
NavigationView {
List {
ForEach(people, id: \.self) { person in
NavigationLink(destination: Text("Hello!")) {
Text(person)
}
}
}
Text("????")
}
}
}
#if DEBUG
struct ContentView_Previews : PreviewProvider {
static var previews: some View {
ContentView()
}
}
#endif
如果 iPad 模拟器处于横向模式,我会得到 splitView,并且第一个详细信息屏幕是表情符号。但如果人们点击一个名字,详细信息视图就会显示“你好!”
这一切都很棒。
但是,如果我以纵向方式运行 iPad,用户会看到表情符号,然后没有任何迹象表明有列表。您必须从左向右滑动才能使列表从侧面显示。
有谁知道有一种方法可以显示导航栏,让用户点击即可查看左侧的项目列表?那么它不仅仅是一个带有表情符号的屏幕?
我不想留下一张纸条,上面写着“从左侧滑入以查看文件/人员/其他内容的列表”
我记得 UISplitViewController 有一个可以设置的折叠属性。这里有类似的东西吗?
In Xcode 11 测试版 3,苹果已经添加了.navigationViewStyle(style:)
to NavigationView
.
更新为Xcode 11 测试版 5.
create 主视图() & 详情查看().
struct MyMasterView: View {
var people = ["Angela", "Juan", "Yeji"]
var body: some View {
List {
ForEach(people, id: \.self) { person in
NavigationLink(destination: DetailsView()) {
Text(person)
}
}
}
}
}
struct DetailsView: View {
var body: some View {
Text("Hello world")
.font(.largeTitle)
}
}
在我的里面内容视图 :
var body: some View {
NavigationView {
MyMasterView()
DetailsView()
}.navigationViewStyle(DoubleColumnNavigationViewStyle())
.padding()
}
Output:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)