事件
点击
使用 onTapGesture
方法作用在需要的元素上
onTapGesture
可接收 count
参数,可以实现多次点击执行的效果
swift
import SwiftUI
struct ContentView: View {
@State var isClick: Bool = true
var body: some View {
VStack {
// 1. 点击
Circle()
.frame(width: 100)
.foregroundStyle(isClick ? .red : .blue)
.onTapGesture {
withAnimation {
isClick.toggle()
}
}
// 2. 连续点击
Circle()
.frame(width: 100)
.foregroundStyle(isClick ? .red : .blue)
// count 参数:需要点击几下
.onTapGesture(count: 2) {
isClick.toggle()
}
}
}
}
#Preview {
ContentView()
}
长按
使用 onLongPressGesture
方法作用在需要的元素上
swift
import SwiftUI
struct ContentView: View {
@State var isClick: Bool = true
var body: some View {
VStack {
Circle()
.frame(width: 100)
.foregroundStyle(isClick ? .red : .blue)
// onLongPressGesture 长事件
.onLongPressGesture {
isClick.toggle()
}
}
}
}
#Preview {
ContentView()
}