使用 Storyboard 检测 WatchKit 上所有四个方向的滑动

Fab*_*cci 5 swipe swift apple-watch watchkit

我试图检测 AppleWatch 上所有四个方向的滑动。但是我不清楚如何为我插入故事板的 WKSwipeGestureRecognizer 的方向分配许多值。我试过:

swiper.direction = [.right , .left ,  .up , .down]
Run Code Online (Sandbox Code Playgroud)

编译器有趣地接受了这一点,与使用按位 | 不同,但是,使用此配置,功能:

@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
    }

}
Run Code Online (Sandbox Code Playgroud)

很少被调用,当它是 swiper.direction 时,总是 .right。

Apple 非常神秘:https : //developer.apple.com/reference/watchkit/wkswipegesturerecognizer/1650828-direction 说:

“此属性的默认值是正确的。您可以指定多个方向以使用相同的手势识别器跟踪多个方向的滑动。”

不透露如何。

Fab*_*cci 0

无论如何,完全忽略苹果所说的,在故事板中放置四个 WKSwipeGestureRecognizer,每个都有不同的方向和目标即可完成工作。