使用故事板在WatchKit上检测所有四个方向上的滑动

时间:2016-10-13 19:24:37

标签: swift watchkit swipe apple-watch

我正试图在所有四个方向上检测AppleWatch上的滑动。然而,我不清楚如何为插入故事板中的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总是.right。

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

  

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

没有透露如何。

2 个答案:

答案 0 :(得分:0)

无论如何,完全无视Apple的说法,在故事板中放置四个WKSwipeGestureRecognizer,每个都有不同的方向和目标。

答案 1 :(得分:0)

1)从右侧的“工具”框中选择WKSwipeGestureRecognizer

2)从属性检查器中,选中“Delays touches started”并选择您需要的“Swipe”类型

   -

3) Ctrl +将IBAction拖到你的viewController并实现函数