SwiftUI:如何在表单内部居中导航链接

SwiftUI:如何在表单内部居中导航链接,swiftui,swiftui-navigationlink,swiftui-form,Swiftui,Swiftui Navigationlink,Swiftui Form,如果有人问过/回答过,表示歉意;我试图在表单内部显示NavigationLink,但希望它居中。我可以用HStack和垫片的按钮来实现这一点;NavigationLink更为顽固: import SwiftUI struct ContentView: View { var body: some View { NavigationView { Form { HStack {

如果有人问过/回答过,表示歉意;我试图在表单内部显示NavigationLink,但希望它居中。我可以用HStack和垫片的按钮来实现这一点;NavigationLink更为顽固:

import SwiftUI

struct ContentView: View {
    var body: some View {
        NavigationView {
            Form {
                HStack {

                    //BUTTON CENTERS WITH SPACERS

                    Spacer()
                    Button(action: {}, label: {
                        Text("Button")
                    })
                    Spacer()
                }
                
                HStack {

                    //NAVIGATIONLINK IGNORES SPACERS

                    Spacer()
                    NavigationLink(
                        destination: Text("Destination"),
                        label: {
                     Text("Navigate")    
                    })
                    Spacer()
                }
            }
        }
    }
}

我喜欢的一种方法是创建一个空的导航链接

@State var someBoolBinding = false

//Body

NavigationLink(destination: YourDestView(), isActive: $someBoolBinding) {}
然后创建一个带有切换的自定义按钮

Button("Go Here") {
   someBoolBinding.toggle()
}
您可以使用任何按钮,甚至是自定义按钮,甚至是ontapsignature,只需更改该布尔值即可。从这里开始,它就像任何其他元素一样简单,只需居中即可,您不必依赖于呈现给您的“导航链接”样式。或者你也可以这样做

 NavigationLink(destination: RegisterWithEmailView(), isActive: $someBoolBinding) {
                        Button("Go To some View", action: {
                            someBoolBinding.toggle()
                        })
                    }

您是否希望“导航”文本和披露指示器水平居中?这是iOS中标准的
导航链接的预期外观。@George\E我希望它看起来像按钮(居中,无“>”)。如果链接不在具有窗体的视图中,则它将居中。我还尝试用VStack包装表单,链接在表单外部……这让我可以居中,但会强制链接到屏幕底部(忽略链接后的任何垂直间隔)。