gpt4 book ai didi

ios - 如何使用 SwiftUI 在一个滑动手势中激活多个按钮?

转载 作者:行者123 更新时间:2023-12-01 16:20:16 31 4
gpt4 key购买 nike

对于像 this 这样的游戏,我在网格中布置了 25 个按钮。 .

我正在像这样生成这些按钮:

VStack {
ForEach(1..<6) {_ in
HStack {
ForEach(1..<6) {_ in
Button(action: {
// Button clicked
doButton()
}) {
Rectangle()
.frame(width: 50, height: 50)
.border(Color.black, lineWidth: 1)
}
}
}
}
}

如果用户将手指拖过多个按钮,单击每个按钮并执行 doButton(),我该如何做到这一点?

我尝试使用 DragGesture() 但无法正常工作...

最佳答案

swift 5.1,iOS 13。

我没有适合您的 100% 解决方案,但我确实有一些方法可以帮助您起步。这些不是按钮,而只是正方形。当我点击/拖过它们时,它们^会发出我经过的信号。

它并不完美,但应该可以为您提供更多有用的东西。我阅读了有关使用拖放进行类似操作的媒体教程。 This one .

可能会有所帮助,但认为您最终需要在此处拖动和几何阅读器做一些事情,检测它们的位置并对此做出响应。

import SwiftUI

struct ContentView: View {
var body: some View {
return VStack {
ForEach(1..<6) {colY in
HStack {
ForEach(1..<6) {rowX in
boxView(row: rowX, col: colY)
}
}
}
}
}
}

struct boxView: View {
@State var row: Int
@State var col: Int
var body: some View {
let dragGesture = DragGesture(minimumDistance: 0, coordinateSpace: CoordinateSpace.global)
.onChanged { (value) in
print("trigger ",self.row,self.col)
}
return Rectangle()
.stroke(Color.black)
.frame(width: 50, height: 50)
.gesture(dragGesture)
}
}

关于ios - 如何使用 SwiftUI 在一个滑动手势中激活多个按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62118301/

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