Я пытаюсь реализовать прокрутку, чтобы закрыть просмотры в своем приложении. Я использую UISwipeGestureRecognizer
, и при свайпе влево или вправо вид закрывается. Однако UISwipeGestureRecognizer имеет невероятно строгое определение левого или правого — если смахивание не является идеально горизонтальным, оно не распознается. Его неудобно использовать, поскольку большинство пользователей физически не могут каждый раз идеально проводить пальцем по экрану. Есть ли более щадящий способ сделать это?
Как распознать жесты смахивания влево/вправо? Мягче, чем UISwipeGestureRecognizer.direction.right/left
Ответы (1)
Вы можете попробовать использовать UIPanGestureRecognizer
let pan = UIPanGestureRecognizer()
var initialPoint: CGPoint = .zero
switch pan.state {
case .began:
initialPoint = pan.translation(in: self)
break
case .changed:
let panned = pan.translation(in: self)
if panned.x > initialPoint.x {
// right
} else if panned.x < initialPoint.x {
// left
}
break
default:
break
}
person
Jun Xiu Chan
schedule
05.04.2019