UICollectionViewDelegate 没有在具有自定义 UICollectionViewCell 和 NSObject 控制器的 UICollectionView 子类上触发
Posted
技术标签:
【中文标题】UICollectionViewDelegate 没有在具有自定义 UICollectionViewCell 和 NSObject 控制器的 UICollectionView 子类上触发【英文标题】:UICollectionViewDelegate not firing on UICollectionView subclass with custom UICollectionViewCell and NSObject controller 【发布时间】:2016-01-19 16:45:28 【问题描述】:我对@987654322@ 进行了子类化,并将其委托和数据源分配给了一个 NSObject 类。我使用带有 .xib 的自定义 UICollectionViewCell
来构造集合视图的单元格。该项目可以在这里找到:
https://github.com/JeffModMed/CustomUICollectionView
如您所见,数据源方法运行良好,但是当用户点击单元格时不会调用 didSelectItemAtIndexPath
和 shouldSelectItemAtIndexPath
,这让我相信 UICollectionViewDelegate
有问题。我能想到的唯一其他可能的问题区域是我使用自定义 UICollectionViewCell
类或注册其 .xib 文件的方式有问题。
注意:请不要回答建议我使用UICollectionViewController
作为替代方案:代码必须以这种方式完成才能与更大的项目合并。提前致谢。
【问题讨论】:
哇。伟大的谜题。我已经把它拆开 20 分钟了,我不明白为什么你的委托函数没有被调用。 【参考方案1】:在 MMFilterTagCollectionViewCell.xib 中,选择单元格并启用 User Interaction Enabled 选项。
在 MMFilterTagCollectionView.m 文件中,注释掉这一行:
@synthesize delegate;
【讨论】:
你真的是我的英雄。以上是关于UICollectionViewDelegate 没有在具有自定义 UICollectionViewCell 和 NSObject 控制器的 UICollectionView 子类上触发的主要内容,如果未能解决你的问题,请参考以下文章
在 UICollectionViewDelegate#collectionView:didSelectItemAtIndexPath 中调用 UICollectionView#reloadData:隐
UICollectionView - UICollectionViewDelegate - 如何实现与 canEditRowAtIndexPath 等效?
UICollectionViewDelegate 没有在具有自定义 UICollectionViewCell 和 NSObject 控制器的 UICollectionView 子类上触发