原文链接:https://github.com/fzhlee/SwiftUI-Guide#-%E7%AC%AC3%E8%8A%82longpressgesture-
本节课演示长按手势的使用,长按手势常用于显示快捷菜单。
示例代码:
struct ContentView : View {
@GestureState var isLongPressed = false //用于刷新长按手势的状态
var body: some View {
let longPressGesture = LongPressGesture() //初始化一个长按手势,该手势一旦识别到长按的触摸状态,就会调用手势的结束事件。您甚至可以限制长按手势的时间长度
.updating($isLongPressed) { value, state, transcation in //通过调用updating方法,监听手势状态的变化
print(value, state, transcation)
state = value
}
.onEnded { (value) in
print(value)
}
return Circle()
.fill(Color.orange)
.frame(width: 240, height: 240)
.gesture(longPressGesture)
.scaleEffect(isLongPressed ? 1.4 : 1)
.animation(.default)
}
}
image
网友评论