SwiftUI - 使用后退按钮和半灰屏/奇怪行为打开导航视图

SwiftUI - Navigation View opening with Back button and half grey screen / weird behavior

我正在尝试向我的应用程序添加导航视图,但它导致了问题。我的主要 UI 是一个可以无限滑动的页面轮播。它最初看起来像这样:

然后,当我将它包裹在导航视图中时,它会像这样打开,只有一个后退按钮,没有其他任何东西:

当我按下后退按钮时,它看起来像这样:

左侧像原来的一样可以滑动 UI,但是当我触摸右侧灰色时,它会使用后退按钮返回空白页面。

知道是什么原因造成的吗?我通过将每个页面放入 ZStack 并使用 offsets/relativeLocation 来实现无限轮播。我参考了这个教程: https://www.youtube.com/watch?v=fB5MzDD1PZI

我可以不使用 NavigationView 吗?有没有我可以采用的替代路线,我可以在其中创建自己的顶部导航栏并导航到单独的视图而无需 NavigationBar/NavigationLink?

感谢任何帮助,请随时提出问题等。谢谢!

您可以将按钮设置为关闭,它可以工作,但我不知道这是您想要的。

它将带您回到上一屏幕。

@IBAction func backButton(_ sender: Any) {
    dismiss(animated: true, completion: nil)
}

您想将 StackNavigationViewStyle 应用到您的 NavigationView

NavigationView {

...

}.navigationViewStyle(StackNavigationViewStyle())

您遇到了不想要的拆分视图,您可以找到更多信息

对于横向 iPad 或 iPhone Pro Max 等较大的设备,默认为 DoubleColumnNavigationViewStyle