SwiftUI:如何在表单内部居中导航链接
如果有人问过/回答过,表示歉意;我试图在表单内部显示NavigationLink,但希望它居中。我可以用HStack和垫片的按钮来实现这一点;NavigationLink更为顽固: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 {
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包装表单,链接在表单外部……这让我可以居中,但会强制链接到屏幕底部(忽略链接后的任何垂直间隔)。