相关疑难解决方法(0)

如何制作一个 SwiftUI 手势,在按下视图时继续运行代码

我正在尝试制作一个控制计数器的按钮。如果你点击它,计数器就会加一。但是,如果您点击并按住它,我希望在您按住它时计数器每 n 秒增加 1,并继续这样做,直到您松开为止。

如果我使用如下代码:

@GestureState var isDetectingLongPress = false
var plusLongPress: some Gesture {
    LongPressGesture(minimumDuration: 1)
        .updating($isDetectingLongPress) { currentstate, gestureState, _ in
            gestureState = currentstate
        }
        .onEnded { finished in
            print("LP: finished \(finished)")
        }
}
Run Code Online (Sandbox Code Playgroud)

isDetectingLongPress一秒后变为 true,然后立即变为 false 。onEnded1 秒后也会调用print in 。

我想要某种方法来继续调用代码以在手指按下视图时不断更新计数器 - 而不仅仅是在检测到长按后一次。

ios swift swiftui

4
推荐指数
2
解决办法
2368
查看次数

标签 统计

ios ×1

swift ×1

swiftui ×1