我知道可以像这样操纵
NavigationSplitView
的侧边栏宽度。-
NavigationSplitView {
Text("Sidebar")
.navigationSplitViewColumnWidth(min: 100, ideal: 200, max: 300)
} content: {
Text("Content")
.navigationSplitViewColumnWidth(min: 100, ideal: 200, max: 300)
} detail: {
Text("Detail")
}
但是我的主视图包含一个简单的
NavigationView
(只是侧边栏和内容),并且在这种情况下似乎没有用于指定宽度的 api。在这种情况下有什么已知的方法可以达到相同的效果吗?
NavigationView
在几个操作系统之前已被弃用,不应该在 visionOS
中使用,因为已知它有许多错误和限制。
如果您想复制 2 列设置,您应该迁移代码。
来自
NavigationView { // This is deprecated.
/* column 1 */
/* column 2 */
}
至
NavigationSplitView {
/* column 1 */
} detail: {
/* column 2 */
}
然后就可以使用了
.navigationSplitViewColumnWidth(min: 100, ideal: 200, max: 300)
https://developer.apple.com/documentation/swiftui/migration-to-new-navigation-types