我正在尝试检测AppleWatch上所有四个方向的滑动手势。但我不清楚如何将多个值分配给我在Storyboard中插入的WKSwipeGestureRecognizer的方向。我尝试过:
swiper.direction = [.right , .left , .up , .down]
使用这种配置,函数可以有趣地被编译器接受,而不是使用按位|。
@IBAction func swipe(_ sender: Any) {
switch swiper.direction {
case WKSwipeGestureRecognizerDirection.right:
print("Swiped right")
case WKSwipeGestureRecognizerDirection.down:
print("Swiped down")
case WKSwipeGestureRecognizerDirection.left:
print("Swiped left")
case WKSwipeGestureRecognizerDirection.up:
print("Swiped up")
default:
break
}
}
很少调用swiper.direction属性,而且调用时它的值通常为右滑。
Apple在此处非常神秘: https://developer.apple.com/reference/watchkit/wkswipegesturerecognizer/1650828-direction 通过以下说法:
"该属性的默认值为right。您可以指定多个方向,以使用相同的手势识别器跟踪多个方向的滑动。"
没有透露具体如何实现。