2017-12-21 26 views
0

didSelectItemAtIndexPathのカスタムコレクションビューセルの背景色を変更したいと思います。 これは私の実装です。ここでカスタムCollectionViewCellの背景色を変更するには?

- (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でそれを行うことができます知りたいですか?

+0

もっとコードを入力してください。 –

答えて

1

それは

cell.contentView.backgroundColor = ColorFromRGB(COLOR_GREEN); 

する必要がありますしかし、あなたはストーリーボード自体にRadioCollectionViewCellセルを設計しているか確認する必要があります。そのセルのデザイナーがcontentViewの上に別のUIViewを追加した場合、そのビューへの参照を取得し、代わりにそのビューの背景を変更する必要があるためです。

+0

返事をありがとう。実際には、RadioCollectionViewCellの幅と高さが等しいラベルを追加しました。私はセルの背景色の代わりにそのラベルの色を変更しようとしました。しかし、それは動作しませんでした。私はなぜか分からない。 –

+0

ラベルの色を変更したい場合は、ラベルのiboutletを取得し、通常は色を設定する必要があります。 – GeneCode

+0

はい、もちろんです。私はそれを試みました。しかしそれはうまくいかなかった。ワイヤード.. –

関連する問題