Проблема, как вы уже догадались, заключается в том, что распознаватель жестов фонового представления глотает кран, который выберет ячейку представления коллекции.Чтобы решить эту проблему, реализуйте этот метод делегата распознавателя жестов в контроллере представления:
func gestureRecognizerShouldBegin(_ gr: UIGestureRecognizer) -> Bool {
let p = gr.location(in: self.view)
let v = self.view.hitTest(p, with: nil)
return v == gr.view
}
В результате, если жест находится в представлении коллекции, распознаватель жестов фонового представления не запустится и произойдет обычный выбор.сможет состояться.