在 SwiftUI 视图中添加手势识别器可以通过使用 gesture
修饰符来实现。
轻击手势识别器:
struct ContentView: View {
var body: some View {
Text("Tap me!")
.onTapGesture {
print("Tapped!")
}
}
}
长按手势识别器:
struct ContentView: View {
var body: some View {
Text("Hold me!")
.onLongPressGesture {
print("Held!")
}
}
}
拖动手势识别器:
struct ContentView: View {
@State private var position = CGPoint(x: 100, y: 100)
var body: some View {
Circle()
.frame(width: 50, height: 50)
.position(position)
.gesture(
DragGesture()
.onChanged { value in
self.position = value.location
}
)
}
}
在上面的例子中,我们首先用 @State
属性包装一个 CGPoint
,用来表示圆形视图的位置。然后,我们创建一个圆形视图,并将其位置设置为 position
。接下来,我们添加了一个拖动手势识别器,并将其处理函数与 position
属性相关联,以此来实现拖动圆形视图的功能。