@GestureState用于跟踪和管理与手势相关的状态信息。它用于创建自定义手势,并跟踪手势过程中的状态变化。
使用示例
在下面的示例中,我们使用 @GestureState 跟踪长按手势的状态,并根据手势的状态来改变视图的颜色。
struct ContentView: View {
@GestureState private var isLongPressed = false
var body: some View {
Circle()
.fill(isLongPressed ? Color.red : Color.blue)
.frame(width: 100, height: 100)
.gesture(
LongPressGesture()
.updating($isLongPressed) { currentState, gestureState, _ in
gestureState = currentState
}
)
}
}
网友评论