如何在WatchKit 3中模拟whilePressing TouchEvent?

时间:2016-10-14 13:22:10

标签: swift3 watchkit apple-watch watch-os-3

我想要的是什么:

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

我做了什么:

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

是否有人有建议或者目前给定的框架根本不可能?

1 个答案:

答案 0 :(得分:2)

找出令人满意的解决方法。我使用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")
    }
}