我是SwiftUI的新手。我在HStack
中显示一系列项目。它们不需要移动,但我想在用户将手指拖过它们时高亮显示它们,并在其他地方更改单独的视图,以提供有关高亮显示项目的更多信息,而无需用户抬起手指。他们应该能够前后滑动,并在手指下高亮显示项目,以及单独视图的内容更新。
在UIKit中,我会创建一个UIPanGestureRecognizer
,当手势被识别时,获得识别器位置的正确视图,将视图设置为高亮显示,将任何其他视图设置为不高亮显示,并更新详细信息视图。
不过,我不知道如何在SwiftUI中做到这一点。我不想到处拖动任何东西,我只想在用户滑动时得到哪个视图在用户手指下面。
我想这样的东西可以帮助你:
struct ContentView: View {
var body: some View {
VStack {
Text("Hello, World!")
Text("Hello, World!")
}
.gesture(
DragGesture()
.onChanged({ value in print(value) })
.onEnded({ _ in print("End")})
)
}
}