【问题标题】:How to simulate a whilePressing TouchEvent in WatchKit 3?如何在 WatchKit 3 中模拟 whilePressing TouchEvent?
【发布时间】:2016-10-14 13:22:10
【问题描述】:
我想要什么:
我希望在按下按钮时让进度条填充到 100%。 E.g.: 按钮被按下,进度条不断填充,直到被按下直到 2 秒过去,2 秒后进度条达到 100%。
我做了什么:
我尝试使用长按手势识别器和点击手势识别器来模拟 whilePressing TouchEvent,但没有得到令人满意的结果。主要问题是,我不能在同一个按钮上混合轻按手势和长按手势。如果我能做到这一点,我至少可以得到 touchDown (Tap) 和 touchUp (Long Press) 事件并尝试用它来模拟我想要的行为。
有没有人有建议,或者当前给定的框架根本不可能?
【问题讨论】:
标签:
swift3
watchkit
apple-watch
watchos-3
【解决方案1】:
想出了一个令人满意的解决方法。我将WKLongPresssGestureRecognizer 与我的按钮一起使用,该按钮应该具有所需的交互。我已将属性检查器中的Min Duration 设置为0。并使用以下 sn-p 作为我的识别器的 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")
}
}