Ваш код должен работать. Если нет, вероятно, конфликт с другим распознавателем жестов. Чтобы разрешить этот конфликт, вы можете установить delegate
на своих swipeUp
и swipeDown
распознавателях:
class ViewController: UIViewController, UIGestureRecognizerDelegate
swipeUp.delegate = self
swipeDown.delegate = self
и попытаться выяснить, что происходит в функциях этого делегата (с точками останова или с печатью, это зависит от вас):
func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool {
return true
}
func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRequireFailureOf otherGestureRecognizer: UIGestureRecognizer) -> Bool {
return false
}
func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldBeRequiredToFailBy otherGestureRecognizer: UIGestureRecognizer) -> Bool {
return true
}
func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
return true
}
Если не вызывается ни одна из этих функций делегата, когда вы пытаетесь провести пальцем. Тогда, возможно, существует другой (ie невидимый) вид вашего контента.