Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios SwiftUI-HStack导航链接“;按钮“;将按钮样式分别添加到两个元素?_Ios_Swift_Iphone_Swiftui_Swiftui Navigationlink - Fatal编程技术网

Ios SwiftUI-HStack导航链接“;按钮“;将按钮样式分别添加到两个元素?

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)

我正在构建我的第一个应用程序,但在HStack中遇到了一个关于.buttonStyle的不明确问题

这是我的.buttonStyle代码:

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())
      }