Похоже, что есть ошибка.Вы можете указать разрешенные направления, как вы сделали.Но когда вы пытаетесь получить доступ к направлению фактическое , которое вызвало пролистывание в методе выбора действия, вы все равно получаете битовую маску, которую вы изначально установили (для разрешенных направлений).
Это означает, что проверка фактического направления всегда будет неудачной, если разрешено более 1 направления.Вы можете убедиться в этом сами, когда вы выводите значение 'direction' в методе селектора (например, -(void)scrollViewSwiped:(UISwipeGestureRecognizer *)recognizer
).
Отправил отчет об ошибке (# 8276386) в Apple.
[Обновить] Я получил ответ от Apple, в котором говорилось, что поведение работает так, как было задумано.
Так, например, в табличном представлении вы можете провести пальцем влево или вправо в ячейке табличного представления, чтобы вызвать «удалить»будет иметь направления жеста смахивания, установленные влево и вправо)
Это означает, что исходный обходной путь - это способ, которым он должен использоваться.Свойство direction можно использовать только для правильного распознавания жестов, но не в методе, выполняемом при успешном распознавании для сравнения с фактическим направлением, которое инициировало распознавание.