如何更改Custom CollectionViewCell的背景颜色?

时间:2017-12-21 01:50:43

标签: ios objective-c uicollectionviewcell

我想在 didSelectItemAtIndexPath 中更改自定义集合视图单元格的背景颜色。 这是我的实施。

- (void)collectionView:(UICollectionView *)collectionView 
    didSelectItemAtIndexPath:(NSIndexPath *)indexPath{

    RadioCollectionViewCell* cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"RadioCollectionViewCell" forIndexPath:indexPath];
    [cell setData:self.contentModel andIndexPath:indexPath];
    cell.lblChoice.backgroundColor = ColorFromRGB(COLOR_GREEN);
}

这是 RadioCollectionViewCell.h

的实现
#import <UIKit/UIKit.h>

@interface RadioCollectionViewCell : UICollectionViewCell
    @property (weak, nonatomic) IBOutlet UILabel *lblChoice;

    - (void)setData:(ContentModel *)contentModel andIndexPath:(NSIndexPath *)indexPath;
    + (RadioCollectionViewCell *)loadFromNib;
@end

但背景颜色没有改变。当我检查样本解决方案时,他们只是改变UICollectionViewCell的背景颜色。不是自定义的。我只想知道我可以在CustomAnnotationView吗?

1 个答案:

答案 0 :(得分:1)

应该是

cell.contentView.backgroundColor = ColorFromRGB(COLOR_GREEN);

但是,您应该检查如何在故事板中设计RadioCollectionViewCell单元格。因为如果该单元格的设计者在contentView之上添加了另一个UIView,那么您需要获得对该视图的引用并改变该视图的背景。