swiftui - 用于在触摸上执行操作的 SwiftUI 方法
问题描述
我正在为 Rectangle 寻找类似tapAction的东西,但不是在点击时执行操作,而是在简单地触摸视图时执行它。
情况是:我在一条水平线上有 3 个矩形。我想在矩形 #1 上着陆,在 #2 上滑动以降落在 #3 上。我希望此滑动触发矩形 #2 上的操作。
⬛ ⬛ ⬛
------->
是否有针对它的 siwftui 解决方案,还是我需要涉及 uikit?
解决方案
您需要为此创建手势
private var dragGesture: some Gesture {
DragGesture(minimumDistance: 10, coordinateSpace: .global)
.onChanged { print("Changed \($0.location)") }
.onEnded { print("Changed \($0.location)") }
}
并添加到视图中:
Text("Text")
.gesture(dragGesture)
在此处阅读有关可用手势的更多信息
UPD:
要跟踪手势更改,您需要使用@State
属性
@State var position: CGPoint
并添加到您的视图位置修饰符,以便您的视图声明将是下一个:
Text("Text")
.position(position)
.gesture(dragGesture)
UPD 2:您可以在此处阅读有关可用手势以及如何使用它们的信息
推荐阅读
- c# - 字段从未分配,但似乎正在使用自动实现的属性
- java - 在java,ADT卡应用程序中找不到符号
- pyspark - Pyspark Schema - 同时定义和推断
- javascript - 如何在javascript中通过url发布二维对象数组元素的索引?
- python - 管理 Python 项目中的路径
- html - 使用引导程序创建网格布局
- java - 无法将 IntelliJ 配置为使用 Java 11
- android - @UserScope 与 dagger-android
- azure-cosmosdb - gremlin 查询中的“请求太大”异常 [azure-cosmosdb]
- eclipse - CMake 工具包 .... 它们只是用于 VS Code 还是我也会将它们用于其他环境?