在visionOS NavigationView中设置侧边栏宽度约束

问题描述 投票:0回答:1

我知道可以像这样操纵

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。在这种情况下有什么已知的方法可以达到相同的效果吗?

swiftui navigationview swiftui-navigationview visionos
1个回答
1
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.