微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 SwiftUI 中点击时从函数返回的按钮不起作用

如何解决在 SwiftUI 中点击时从函数返回的按钮不起作用

所以我的 ContentView 中有一个 ForEach 循环,它多次调用 makeButton() 函数。此函数返回一个按钮,但由于某种原因,当您单击该按钮时,该按钮不会执行任何操作(也称为“动作”不会发生)。我想也许这与返回类型有关,但我真的不确定这里发生了什么:

ForEach(array,id: \.self) { (client: Client) in
    self.makeButton(client: client)
}

然后函数本身看起来像:

func makeButton(client: SocketClient) -> some View {  
    //calculations for horizontal and vertical offset here
    return Button(action: {
        print("Clicked a button and it should print out \(client.colorVariable)")
    },label: {
        ZStack {
            Circle()
                .fill(client.colorVariable)
        }.frame(width: 30,height: 30)
        .offset(x: horizontalOffset,y: verticalOffset)
    })
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。