小编Jer*_*iez的帖子

子类化UICollectionViewLayoutAttributes

我最近开始玩令人敬畏的UICollectionView API,取得了合理的进展,但几乎整天都遇到了问题,我希望有人可以帮助我:

我需要为某些单元格的属性添加一些自定义细节.为了做到这一点,正确的方法似乎是子类UICollectionViewLayoutAttributes并将我需要的属性添加到我的子类.到目前为止一切都那么好,除了当我返回我的LayoutAttributesSubclass时,我总是得到,不知何故模糊,跟随错误:

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** setObjectForKey: key cannot be nil'
Run Code Online (Sandbox Code Playgroud)

试图跟踪这一段时间后,我的印象是错误与RepresentElementKind和representElementCategory在我的子类的实例中是nil有关.但这些属性是只读的,所以我不能设置它们.我设法以某种方式通过欺骗,获取常规UICollectionViewAttributes实例,然后使用object_setClass将其更改为LayoutAttributesSubclass来绕过错误,但这会引发大量其他问题,而且对我来说似乎相当阴暗.

简而言之,有谁知道上面的错误意味着什么,以及如何正确创建/使用UICollectionViewLayoutAttributes子类?

ios ios6 uicollectionview

2
推荐指数
1
解决办法
5077
查看次数

标签 统计

ios ×1

ios6 ×1

uicollectionview ×1