我正在为Rectangle寻找类似tapAction的东西,但是我不想在水龙头上执行任何操作,而是希望在触摸该视图时进行操作。
情况是:我在一条水平线上有3个矩形。我想在矩形#1上降落,在#2上滑动以落在#3上。我希望此滑动触发对矩形2的操作。
⬛ ⬛ ⬛
------->
是否有siwftui解决方案,或者我需要使用uikit吗?
答案 0 :(得分:2)
您需要为此创建手势
private var dragGesture: some Gesture {
DragGesture(minimumDistance: 10, coordinateSpace: .global)
.onChanged { print("Changed \($0.location)") }
.onEnded { print("Changed \($0.location)") }
}
并添加到视图:
Text("Text")
.gesture(dragGesture)
详细了解可用手势here
UPD:
要跟踪手势更改,您需要使用@State
属性
@State var position: CGPoint
并添加到视图位置修饰符,以便您的视图声明将成为下一个:
Text("Text")
.position(position)
.gesture(dragGesture)