WatchKit 3中如何模拟whilePressing TouchEvent?

How to simulate a whilePressing TouchEvent in WatchKit 3?

我想要的:

我希望在按下按钮时进度条填充到 100%。例如:按下按钮,进度条仅在按下时持续填充,直到 2 秒过去,2 秒后进度条达到 100%。

我做了什么:

我尝试使用 Long Press Gesture Recognizers 和 Tap Gesture Recognizer 模拟 whilePressing TouchEvent,但没有得到令人满意的结果。主要问题是,我不能在同一个按钮上混合点击手势和长按手势。如果我能做到这一点,我至少可以得到 touchDown (Tap) 和 touchUp (Long Press) 事件并尝试用它来模拟我想要的行为。

有没有人有什么建议,或者用当前给定的框架根本不可能吗?

想出了一个令人满意的解决方法。我将 WKLongPresssGestureRecognizer 与应该具有所需交互的按钮一起使用。我已将属性检查器中的 Min Duration 设置为 0。并使用以下代码片段作为我的识别器的 IBAction:

@IBAction func pressAndHold(_ sender: AnyObject) {
    guard let sender = sender as? WKLongPressGestureRecognizer else {
        return
    }
    if sender.state == WKGestureRecognizerState.began {
        print("Touch down")
    } else if sender.state == WKGestureRecognizerState.ended {
        print("Touch up")
    }
}