我尝试子类化 UICollectionViewCell 并从 nib 文件加载:
- (id)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
NSArray *arrayOfViews = [[NSBundle mainBundle] loadNibNamed:@"DatasetCell" owner:self options:nil];
if ([arrayOfViews count] < 1) {
return nil;
}
if (![[arrayOfViews objectAtIndex:0] isKindOfClass:[UICollectionViewCell class]]) {
return nil;
}
self = [arrayOfViews objectAtIndex:0];
UIView *view = [UIView new];
view.frame = self.frame;
view.backgroundColor = [UIColor orangeColor];
self.selectedBackgroundView = view;
}
return self;
}
我遇到了一个问题,即选择了一个单元格,但cell.selected
没有设置。它总是NO
导致取消选择单元格的问题。
如何处理使单元格进入选定状态?
编辑:
我最初将自定义 UICollectionViewCell 作为一个类加载:
[collectionView registerClass:[DatasetCell class] forCellWithReuseIdentifier:@"dataCell"];
切换到加载笔尖:
[collectionView registerNib:[UINib nibWithNibName:@"DatasetCell" bundle:nil] forCellWithReuseIdentifier:@"nibCell"];
两种方式我都有相同的选择/取消选择问题。