Я пытаюсь обнаружить удары по 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 , говоря:.
«Значение по умолчанию этого свойства является правильным Вы можете указать более чем в одном направлении, чтобы отслеживать пойло в нескольких направлениях с же распознаватель жестов ".
без раскрытия как.
Возможный дубликат [Как распознать салфетки во всех 4 направлениях] (http://stackoverflow.com/questions/24215117/how-to-recognize-swipe-in-all-4-directions) –
Это не очень хорошо - объясняется документацией, но значение «направления» распознавателя в обработчике не является фактическим направлением обнаруженного салфетки. Это просто значение, которое вы первоначально установили. –
Вы должны проверить документы OptionSet. Они очень четко объясняют, как определить несколько вариантов. – jjatie