didSelectItem не вызывается для UICollectionView
ОБНОВИТЬ
Если я коснусь и перетащу свой UICollectionViewCell, а затем отпущу, didSelectItem будет вызван. Но если я просто нажму, он не узнает! Это почему?
У меня есть UIViewController с тремя видами контейнера (встроенный через раскадровку). Когда я нажимаю кнопку, появляется один из этих видов. Каждый вид контейнера управляется UIViewController
который содержит UICollectionView
, Я контролирую это UICollectionView
используя IGListKit. Каждая ячейка управляется чем-то, называемым контроллером секции - частью кода, который обрабатывает методы делегата и источника данных для каждой ячейки в секции, например cellForItem
, didSelectItem
... Однако, когда я выбираю ячейку, didSelectItem
никогда не называется. Я проверил очевидные вещи, например, убедитесь, что источники данных подключены и что в представлении / ячейке коллекции включена функция userInteraction. Что странно, эта же настройка работает в другой части моего приложения (с использованием того же контроллера секций), за исключением того, что представление коллекции там не встроено в представление контейнера. У кого-нибудь есть идеи, что может происходить?
Некоторый код:
Назначение моего контейнерного представления переменной:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "ViewersOfLivestreamViewController" {
if let viewController = segue.destination as? LivestreamInvitationParentViewController {
viewersOfLivestreamViewController = viewController
viewersOfLivestreamViewController.delegate = self
}
}
}
Инициализация адаптера внутри моего контейнера для обработки UICollectionView
:
adapter = ListAdapter(updater: ListAdapterUpdater(), viewController: self, workingRangeSize: 10)
adapter.collectionView = collectionView
adapter.dataSource = self
adapter.scrollViewDelegate = self
Настройка контроллера раздела, который используют ячейки:
func listAdapter(_ listAdapter: ListAdapter, sectionControllerFor object: Any) -> ListSectionController {
let sectionController = FriendsSectionController()
sectionController.sectionModel = model
sectionController.delegate = self
return sectionController
}
Внутри моего контроллера секций эта функция должна вызываться, но она никогда не выполняется:
override func didSelectItem(at index: Int) {
// This never gets called
}