查看右侧显示的window

view display on the right of the window

你好,当我使用导航视图时,我在 Xcode 上的项目出现问题,window 显示不正常,出现在已经显示的 window 的右侧,

这是代码。

NavigationLink(destination: Acceuil())
                        {
                            HStack{
                               Image("icone_connexion")
                                    .font(.system(size: 15))
                                 //   .scaledToFill()


                                Text("se connecter")
                                        .font(.system(size: 30))
                          
                            }.cornerRadius(60)
                           .frame(width: 400, height: 60)
                            
                        } .background(Capsule().fill(Color(red: 55/255, green: 66/255, blue: 114/255, opacity:1)))
                        .frame(width: 400, height: 60) //fin navigationlink
                        .buttonStyle(PlainButtonStyle())

我想要新的 window 替换旧的:)

在 macOS 上,NavigationView 中的标准行为是将视图(父视图和目标视图)并排显示:https://developer.apple.com/design/human-interface-guidelines/macos/windows-and-views/column-views/

如果你不想这样,你可以这样做:

    NavigationView {
        ...
    }
    .navigationViewStyle(.stack)

所以我找到了这段代码

 import SwiftUI

    struct ContentView: View {
        @State private var show = false
        var body: some View {
            VStack{
                if !show {
                    RootView(show: $show)
                        .frame(maxWidth: .infinity, maxHeight: .infinity)
                        .background(Color.blue)
                        .transition(AnyTransition.move(edge: .leading)).animation(.default)
                }
                if show {
                    NextView(show: $show)
                        .frame(maxWidth: .infinity, maxHeight: .infinity)
                        .background(Color.green)
                        .transition(AnyTransition.move(edge: .trailing)).animation(.default)
                }
            }
        }
    }

    struct RootView: View {
        @Binding var show: Bool
        var body: some View {
            VStack{
                Button("Next") { self.show = true }
                Text("This is the first view")
            }
        }
    }

它对我很有效,谢谢你的帮助