更新
如果我点击并拖动我的UICollectionViewCell,然后释放,则调用didSelectItem。但是,如果我只是点击,它不会识别水龙头!那是为什么?
我有一个带有三个容器视图的UIViewController(通过Storyboard嵌入)。当我按下按钮时,会出现其中一个视图。每个容器视图都由包含UIViewController
的{{1}}管理。我使用IGListKit控制此UICollectionView
。每个单元由一个称为段控制器的东西管理 - 一段代码处理段中每个单元的委托和数据源方法,例如, UICollectionView
,cellForItem
...但是,当我选择一个单元格时,永远不会调用didSelectItem
。我已检查过显而易见的事情,例如确保数据源已连接并确保集合视图/单元已启用userInteraction。奇怪的是,这个相同的设置在我的应用程序的另一部分(使用相同的部分控制器)中工作,除了集合视图没有嵌入容器视图中。任何人都知道可能会发生什么?
一些代码:
将容器视图分配给变量:
didSelectItem
在容器视图中初始化适配器以处理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
}