SwiftUI方法,用于执行触摸操作

时间:2019-06-10 16:04:37

标签: swiftui

我正在为Rectangle寻找类似tapAction的东西,但是我不想在水龙头上执行任何操作,而是希望在触摸该视图时进行操作。

情况是:我在一条水平线上有3个矩形。我想在矩形#1上降落,在#2上滑动以落在#3上。我希望此滑动触发对矩形2的操作。

⬛ ⬛ ⬛
------->

是否有siwftui解决方案,或者我需要使用uikit吗?

1 个答案:

答案 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)