Моя иерархия представлений следующая.
ParentContainerVC
..UINavigationViewController (child of ParentContainerVC)
....UITableViewController (child of navigation view controller)
..UICollectionViewController (child of ParentContainerVC)
События прокрутки правильно перехватываются V C, на котором размещен UICollectionView, но расположенный ниже UITableView остается замороженным. Оба имеют размер, соответствующий полной ширине / высоте экрана, но должны иметь возможность прокрутки независимо (UICollectionView не скрывает UITableView внизу, если вам интересно, но пользователь должен иметь возможность прокручивать оба экрана в то же время).
В V C, где размещается представление коллекции, я реализовал:
extension UICollectionViewController: UIGestureRecognizerDelegate {
public func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
return true
}
}
Однако это не помогло. Я предполагаю, что это связано с тем, что контроллер представления был добавлен в качестве дочернего контроллера, и это не будет работать с одноуровневыми контроллерами представления.
ParentContainerVC
- это просто контроллер представления контейнера с двумя дочерними элементами. Что мне нужно сделать, чтобы события касания / прокрутки работали независимо между двумя дочерними элементами / братьями и сестрами?