ios - SwiftUI-HStack 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)
        .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发生的事情是这样的:
Image+text one button
但是我得到的是:
Image+text seperated
我尝试摆弄,但似乎无法弄清楚是什么原因造成的。在此先感谢您的帮助!

最佳答案

您将需要一个同时包含图像和文本的HStack。

      HStack {
          NavigationLink(destination: TestView()) {
            HStack {
              Image(systemName: "star.fill")
              Text("Tasks")
            }
          }.buttonStyle(GradientBackgroundStyle())
      }

enter image description here

关于ios - SwiftUI-HStack NavigationLink“按钮”分别向两个元素添加按钮样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62331834/

相关文章:

ios - 在 Swift 中使用 UIScrollView 制作图像 slider

function - 如何让函数 A 等到被调用的函数 B 完成后再继续

ios - 如何在 ios 中使用 PFInstallation 获取在解析中注册的所有用户

ios - TestFlight 问题弹出窗口未出现

iOS (Swift) - UIViewController 数组

ios - iOS 9 不显示静态表格 View 单元格的内容

ios - 使第一部分行单元格已在可扩展表格 View 单元格中展开

ios - 出乎意料地发现 nil,即使在展开之后

iphone - 使用搜索栏时,表格仅显示 2 个标签(共 4 个)

iphone - 从 RSS 数据中的链接获取完整详细信息