2016-10-13 7 views
2

Я пытаюсь обнаружить удары по AppleWatch на всех четырех направлениях. Тем не менее, я не понимаю, как назначить многие значения в направлении WKSwipeGestureRecognizer, который я вставил в раскадровку. Я попытался с:Обнаружение ударов по всем четырем направлениям на WatchKit с использованием раскадровки

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 , говоря:.

«Значение по умолчанию этого свойства является правильным Вы можете указать более чем в одном направлении, чтобы отслеживать пойло в нескольких направлениях с же распознаватель жестов ".

без раскрытия как.

+0

Возможный дубликат [Как распознать салфетки во всех 4 направлениях] (http://stackoverflow.com/questions/24215117/how-to-recognize-swipe-in-all-4-directions) –

+0

Это не очень хорошо - объясняется документацией, но значение «направления» распознавателя в обработчике не является фактическим направлением обнаруженного салфетки. Это просто значение, которое вы первоначально установили. –

+0

Вы должны проверить документы OptionSet. Они очень четко объясняют, как определить несколько вариантов. – jjatie

ответ

0

Во всяком случае, полностью игнорируя то, что говорит Apple, вставляя в раскадровку четыре WKSwipeGestureRecognizer, каждый из которых имеет другое направление и цель выполняет свою работу.