我有两个独立的Xcode项目,我正在使用它们来学习SwiftUI:
1.一个真正的macOS项目(不是Catalyst)在Mac上。
- iOS项目(iPhone)。
下面的代码创建了一个简单的NavigationView
和master-detail视图:
import SwiftUI
struct ListView : View {
var body: some View {
NavigationView {
List() {
NavigationButton(destination: Text("detail 1")) {
Text("row 1")
}
NavigationButton(destination: Text("detail 2")) {
Text("row 2")
}
}
}
}
}
#if DEBUG
struct ListView_Previews : PreviewProvider {
static var previews: some View {
ListView()
}
}
#endif
它在iOS上按预期工作👍
但是在macOS项目上,与上面相同的代码的工作方式不同🤯
当我在Mac上启动应用程序时,我会看到这个窗口
而且当我点击任何一行时,详细视图就会折叠/消失,从不向我显示详细视图。
有办法解决吗?也许我漏掉了什么或者这只是一个bug?
3条答案
按热度按时间pepwfjgg1#
下面是我的代码,似乎使用Xcode 12修复了它。2 beta 3:
这使得一个窗口像这样:
vxbzzdmp2#
我没有答案,但我正在尝试做同样的事情,并有一些观察补充,也许他们会有所帮助:
添加目标视图:
在NavigationView上设置宽度可阻止右侧视图消失。
此外,添加
显示,即使它没有被显示,当按钮被点击时,视图实际上被调用。
编辑:它在那里!视图被分隔线隐藏,请将其向左拖动以查看详细视图。
编辑2:Xcode beta 2给出了“'NavigationView'在macOS中不可用”的消息。
0sgqnhkj3#
NavigationSplitView
在两列或三列中显示视图的视图,其中前导列中的选择控制后续列中的显示。