Scripting 提供与 SwiftUI 类似的手势支持,可以为任何视图(如 <VStack>
、<HStack>
)添加点击、长按和拖动交互。每种手势都支持灵活的参数配置和回调处理。
onTapGesture
在识别到点击手势时执行指定操作。
基本用法(单击):
指定点击次数(如双击):
count
: 1
(默认为单击)onLongPressGesture
在识别到长按手势时执行指定操作。
简单用法:
自定义长按时间和状态监听:
minDuration
: 500
毫秒maxDuration
: 10000
毫秒onDragGesture
为视图添加拖动手势,支持实时变化和拖动结束的回调。
基本拖动:
指定最小拖动距离和全局坐标空间:
minDistance
: 10
点coordinateSpace
: 'local'
DragGestureDetails
onChanged
和 onEnded
回调中传入的拖动信息对象,包含位置、偏移量、速度等信息。
time
: 当前拖动事件的时间戳(毫秒)location
: 当前手指或指针的位置 { x, y }
startLocation
: 拖动开始的位置translation
: 从开始拖动至当前的总偏移量,等同于 location - startLocation
velocity
: 当前拖动速度 { x, y }
,单位为每秒点数(points/second)predictedEndLocation
: 根据当前速度预测的最终位置predictedEndTranslation
: 根据当前速度预测的总偏移量