首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UICollectionViewCell init与reuseIdentifier

UICollectionViewCell init与reuseIdentifier
EN

Stack Overflow用户
提问于 2015-02-20 19:03:00
回答 1查看 2.4K关注 0票数 2

我有一个自定义的UICollectionViewCell,我按照如下方式将它从视图控制器中排出队列

代码语言:javascript
复制
[self.calendarView registerNib:[UINib nibWithNibName:NSStringFromClass([DayCell class]) bundle:nil] forCellWithReuseIdentifier:dayCell];

然后像这样离开队列

代码语言:javascript
复制
cell = [collectionView dequeueReusableCellWithReuseIdentifier:dayCell forIndexPath:indexPath];

我的问题是,UICollectionViewCell init方法允许我访问单元格的 reuseIdentifier?的但是,awakeFromNibinitWithCoder:方法都会被调用,这两个方法都是用于self.reuseIdentifier的日志(null)

这是一个问题,因为我希望使用相同的UICollectionViewCell类,但使用不同的reuseIdentifier来实现外观略有不同的单元格,并且我希望在init之前执行样式设置。例如,一个带有dayCellDisabled reuseIdentifier的细胞会有一个颜色较浅的标签。

EN

回答 1

Stack Overflow用户

发布于 2015-02-22 08:36:19

我发现一个可行的解决方案是不覆盖任何init或唤醒方法,而是在此方法中配置我的可重用视图。

代码语言:javascript
复制
- (void)didMoveToSuperview {};

显然,当视图被添加到其处理程序时,此方法只会被调用一次。我测试并证实了这是添加到UICollectionViewCell中的可重用UICollectionView的情况。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28636357

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档