У меня есть табличное представление внутри «контейнера» с довольно высоким нижним колонтитулом.Этот нижний колонтитул имеет распознаватель жестов панорамирования.Жест панорамирования управляет поведением вложения, которое перемещает представление контейнера (представление таблицы присоединено к этому контейнеру).Поэтому, когда пользователь перемещает нижний колонтитул, он фактически перемещает (в вертикальном направлении) контейнер.Я пытаюсь предотвратить перемещение контейнера ниже, чем нижняя часть экрана.Поэтому, если жест панорамирования проходит под строкой нижней части экрана, я хочу остановить вложение и просто прокрутить содержимое табличного представления (как если бы я полностью отключил жест панорамирования, примененный к нижнему колонтитулу, и просто прокрутил содержимое, как обычно).Есть ли способ отправить прикосновение от gestRecognizer (который применяется к нижнему колонтитулу) к содержимому tableView (скажем, это может быть последняя строка)?
/* small note. The container actually starts right above the screen
bottom line. So this is why I need to prevent it's movement under the
screen both in .began and .changed states of a pan gesture */
@objc func handlePan(pan: UIPanGestureRecognizer) {
let panLocation = CGPoint(x: view.frame.width / 2, y:
pan.location(in: view).y)
let velocity = pan.velocity(in: self.view)
switch pan.state {
case .began:
/*here I check the direction of a pan gesture. If it goes down,
need to cancell attachment and instead scroll the content of a tableView*/
if velocity.y > 0 {
//this is where I think I need to send the touch
}
//some attachement and animation code here...
case .ended:
//some attachement and animation code here...
case .changed:
//some attachement and animation code here...
if drawerView.frame.maxY >= (view.frame.height) {
if velocity.y > 0 {
animator.removeBehavior(attachement)
//this is where I need to send the touch again
} else {
animator.addBehavior(attachement)
}
}
default:
break
}
}