gpt4 book ai didi

ios - SwiftUI-带有可点击按钮的单元格(在Form内)

转载 作者:行者123 更新时间:2023-12-01 00:12:30 24 4
gpt4 key购买 nike

目标:

  • 使用按钮
  • 创建行/单元格
  • 将行/单元格嵌入
  • 表单中

    我做了什么:
  • 我创建了一个带有按钮的单元格。
  • struct PointTypeButtons : View {
    var body: some View {

    VStack {
    HStack {
    Text("Aligment")
    .font(.subheadline)
    Spacer()
    }

    HStack {

    Button(action: {}) {
    Image(systemName: "text.alignleft")
    .padding(.horizontal, 25.0)
    .padding(.vertical)
    .background(Color.black)
    .cornerRadius(4)
    }
    Button(action: {}) {
    Image(systemName: "text.aligncenter")
    .padding(.horizontal, 25.0)
    .padding(.vertical)
    .background(Color.black)
    .cornerRadius(4)
    }
    Button(action: {}) {
    Image(systemName: "text.aligncenter")
    .padding(.horizontal, 25.0)
    .padding(.vertical)
    .background(Color.black)
    .cornerRadius(4)
    }
    Button(action: {}) {
    Image(systemName: "text.alignright")
    .padding(.horizontal, 25.0)
    .padding(.vertical)
    .background(Color.black)
    .cornerRadius(4)
    }
    }
    }
    .frame(height: nil)
    }
    }
    4 buttons in horizontal row, with "Alignment" text above on left
  • 然后我将此单元格放入一个窗体中:
  • struct ToolbarBezier : View {
    var body: some View {
    HStack {
    Spacer()

    Form {
    PointTypeButtons()
    }
    .frame(width: 320.0)

    }
    }
    }
    The buttons and text embedded in Form
    问题:
    当我点击时,我现在选择整个单元格,而不是按钮。
    问题:
    如何点击并选择按钮?
    我应该在表单上显示所有按钮(不是单元格)吗?问题是在这种情况下,表单将具有庞大的代码库,我想保持内容整洁有序...

    最佳答案

    从beta 5开始,SwiftUI会将包含View的任何Button视为“表单按钮”。这意味着整个单元格成为可点击的目标。以我的经验,如果您有多个按钮,似乎选择了最后一个按钮。

    要解决此问题,您可以选择根本不使用任何按钮。而是使用onTapGesture()事件来检测轻击。

    这是您的图片按钮,但已变成可点击的图片。前景色来自按钮样式,因此您必须立即明确定义它。

    Image(systemName: "text.alignleft")
    .foregroundColor(Color.accentColor)
    .padding(.horizontal, 25.0)
    .padding(.vertical)
    .background(Color.black)
    .cornerRadius(4)
    .onTapGesture {
    print("align left tapped")
    }

    关于ios - SwiftUI-带有可点击按钮的单元格(在Form内),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56715646/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com