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
}

0 ответов

Другие вопросы по тегам