我试图更新 ForEach 的一项的位置。我只想从 ForEach 的数组中拖出一个项目。其余的应该保持不变。我尝试了几种不同的方法,结果总是所有项目都被拖动或根本没有项目。
在这个阶段我真的很沮丧,所以如果你能帮助我,我会很高兴的!如果您需要更多信息,请随时询问,我是 stackOverflow 的新手。
struct ContentView: View {
var texts: [String] = ["Test1", "Test2"]
@State var positon: CGSize = .zero
var body: some View {
HStack {
ForEach(texts, id: \.self) { text in
Text(text)
.offset(y: positon.height)
.gesture(
DragGesture()
.onChanged { value in
positon = value.translation
}
.onEnded { value in
positon = .zero
}
)
}
}
}
}