swiftui - NavigationView 后退按钮不显示

标签 swiftui swiftui-navigationview

有一个两侧固定内容的简单 NavigationView。左 Pane 仅显示几个按钮,右 Pane 显示使用 NSView 包装在 NSViewRepresentable 中的图形。在 iPad 上以纵向模式查看时,左 Pane 按预期消失,但“后退”按钮不显示。可以单击预期“后退”按钮的区域,然后显示左 Pane 。那里什么也看不见。

我做错了什么?

  var body: some View {
    NavigationView {
        VStack(alignment: .center) {
            Text("This is the left side")
            Button {
                ...
            } label: {
                Text("Create Estimate")
            }.foregroundColor(Color.black)
            Button {
                ...
            } label: {
                Text("Reset Results")
            }.foregroundColor(Color.black)
            Text("This is the end of the left side")
        }
        VStack {
            Text("This is the right side")
            AreaChartView(redrawCount: redrawCounter, scenario: activeScenario)
        }
    }
}

更新:即使我注释掉上面 NavigationView 中的所有内容并替换为:

   NavigationView {
        Text("This is the left side")
        Text("This is the right side")
        }

请注意,我创建了一个新的 iOS 项目,除了这个 super 简单的 NavigationView 之外什么都没有,它按预期显示了“后退”按钮。因为除了上面的 NavigationView 之外,我的应用程序 View 中的所有内容都被注释掉了,我想知道环境中还有什么问题。请注意,我的应用程序是一个多平台应用程序,而不仅仅是 iOS,但我不知道为什么这很重要。

最佳答案

好的 - 对于任何其他可能遇到这种情况的可怜人......

当我发现即使是一个微不足道的 NavigationView 也没有“后退”按钮(参见问题)时,很明显问题根本不在 View 代码中。进行了一些搜索,但发现 Assets 文件中的默认强调色不知何故已更改为白色。这意味着“后退”按钮在白色背景下是白色的,因此是不可见的。

删除这些白色强调色会导致 SwiftUI 使用默认值。现在“后退”按钮按预期显示为蓝色。

关于swiftui - NavigationView 后退按钮不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72690545/

相关文章:

SwiftUI 有条件地定义 NavigationLink 目的地

模拟器上的 SwiftUI 动画损坏

ios - 过渡在 NavigationView 内不起作用

ios - 使用 SwiftUI 获取 AVPlayerItem 轨道标题

swift - 对于支持多个场景的应用程序,如何使用 SwiftUI 隐藏 .phonePad 类型的键盘?

ios - 使用 SwiftUI 呈现多个模式表

swift - 如何在 SwiftUI 中为演示文稿定位器调整内容大小

ios - 在SwiftUI中手动设置亮/暗模式并保存用户选择

SwiftUI iOS14 - NavigationView + List - 不会填充空间

swiftui - 如何从 SwiftUI 中的 NavigationView 中删除搜索栏?