【发布时间】:2019-07-25 23:38:14
【问题描述】:
因此,当我在 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 有一个可以设置的折叠属性。这里有类似的吗?
【问题讨论】:
-
您找到真正的解决方案了吗?因为我在 macOS 上遇到了同样的问题,并且建议的解决方法不再起作用……
-
还没有真正的解决方案@K.Biermann
-
@K.Biermann 我使用带有 .navigationViewStyle(DoubleColumnNavigationViewStyle()) 修饰符的 NavigationView 做了一个快速的 macOS 项目,我得到一个拆分视图就好了。我错过了什么吗?
-
Xcode 11.4-beta 修复了这个问题 - 现在左上方有一个按钮,指示您可以打开主视图!
-
@K.Biermann 我解决了。请参阅我在下面发布的代码。
标签: ios uisplitviewcontroller swiftui