我有一个自定义的UICollectionViewCell,我按照如下方式将它从视图控制器中排出队列
[self.calendarView registerNib:[UINib nibWithNibName:NSStringFromClass([DayCell class]) bundle:nil] forCellWithReuseIdentifier:dayCell];然后像这样离开队列
cell = [collectionView dequeueReusableCellWithReuseIdentifier:dayCell forIndexPath:indexPath];我的问题是,UICollectionViewCell init方法允许我访问单元格的 reuseIdentifier?的但是,awakeFromNib和initWithCoder:方法都会被调用,这两个方法都是用于self.reuseIdentifier的日志(null)。
这是一个问题,因为我希望使用相同的UICollectionViewCell类,但使用不同的reuseIdentifier来实现外观略有不同的单元格,并且我希望在init之前执行样式设置。例如,一个带有dayCellDisabled reuseIdentifier的细胞会有一个颜色较浅的标签。
发布于 2015-02-22 08:36:19
我发现一个可行的解决方案是不覆盖任何init或唤醒方法,而是在此方法中配置我的可重用视图。
- (void)didMoveToSuperview {};显然,当视图被添加到其处理程序时,此方法只会被调用一次。我测试并证实了这是添加到UICollectionViewCell中的可重用UICollectionView的情况。
https://stackoverflow.com/questions/28636357
复制相似问题