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")
}
}
我想要的:
我希望在按下按钮时进度条填充到 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")
}
}