Ios SwiftUI-HStack导航链接“;按钮“;将按钮样式分别添加到两个元素?
我正在构建我的第一个应用程序,但在HStack中遇到了一个关于.buttonStyle的不明确问题 这是我的.buttonStyle代码:Ios SwiftUI-HStack导航链接“;按钮“;将按钮样式分别添加到两个元素?,ios,swift,iphone,swiftui,swiftui-navigationlink,Ios,Swift,Iphone,Swiftui,Swiftui Navigationlink,我正在构建我的第一个应用程序,但在HStack中遇到了一个关于.buttonStyle的不明确问题 这是我的.buttonStyle代码: struct GradientBackgroundStyle: ButtonStyle { func makeBody(configuration: Self.Configuration) -> some View { configuration.label .foregroundColor(Color.white)
struct GradientBackgroundStyle: ButtonStyle {
func makeBody(configuration: Self.Configuration) -> some View {
configuration.label
.foregroundColor(Color.white)
.font(.title)
.padding()
.frame(width: 300)
.background(LinearGradient(gradient: Gradient(colors: [Color.red, Color.orange]), startPoint: .leading, endPoint: .trailing))
.cornerRadius(15.0)
.scaleEffect(configuration.isPressed ? 0.9 : 1.0)
}
}
这是我体内的密码:
var body: some View {
NavigationView {
VStack(spacing: 15.0) {
Divider()
HStack() {
NavigationLink(destination: TestView()) {
Text("1")
}.buttonStyle(GradientBackgroundStyle())
}
HStack {
NavigationLink(destination: TestView()) {
Text("2")
}.buttonStyle(GradientBackgroundStyle())
}
HStack {
NavigationLink(destination: TestView()) {
Image(systemName: "star.fill")
Text("Tasks")
}.buttonStyle(GradientBackgroundStyle())
}
Spacer()
}
.navigationBarTitle(
Text("Title"))
我希望在第三个NavigationLink中看到类似的内容:
但我得到的是:
我试过摆弄,但我似乎不知道是什么原因造成的。提前感谢您的帮助 您需要一个同时保存图像和文本的HStack
HStack {
NavigationLink(destination: TestView()) {
HStack {
Image(systemName: "star.fill")
Text("Tasks")
}
}.buttonStyle(GradientBackgroundStyle())
}