在UICollectionView

时间:2018-01-12 14:29:26

标签: ios swift uicollectionview iglistkit

更新

如果我点击并拖动我的UICollectionViewCell,然后释放,则调用didSelectItem。但是,如果我只是点击,它不会识别水龙头!那是为什么?

我有一个带有三个容器视图的UIViewController(通过Storyboard嵌入)。当我按下按钮时,会出现其中一个视图。每个容器视图都由包含UIViewController的{​​{1}}管理。我使用IGListKit控制此UICollectionView。每个单元由一个称为段控制器的东西管理 - 一段代码处理段中每个单元的委托和数据源方法,例如, UICollectionViewcellForItem ...但是,当我选择一个单元格时,永远不会调用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
}

0 个答案:

没有答案