@State var longPressUsed = false
var body: some View {
var longPress: some Gesture {
LongPressGesture(minimumDuration: 2)
.updating($revealTip) { currentstate, gestureState, transaction in
(1) self.longPressUsed = true
}
.onEnded(finished in
(2) self.longPressUsed = true
}
}
}
如何记录长按用法(不包括重复使用)?将其放在(1)中会导致警告,即在更改视图时不应触摸状态变量。当放置在(2)中时,代码并不总是被调用。
答案 0 :(得分:1)
仅使用 .onEnded
,当检测到真正长按下时调用它
var longPress: some Gesture {
LongPressGesture(minimumDuration: 2)
.onEnded { _ in
self.longPressUsed = true
}
}