2017-12-21 12 views
0

Ich möchte die Hintergrundfarbe meiner benutzerdefinierten Sammlung anzeigen Zelle in der didSelectItemAtIndexPath ändern. Hier ist meine Implementierung.Wie ändere ich die Hintergrundfarbe von Custom 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); 
} 

Hier ist meine Implementierung für 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 

Aber die Hintergrundfarbe ändern sich nicht. Wenn ich die Musterlösungen überprüfe, ändern sie nur die Hintergrundfarbe von UICollectionViewCell. Nicht das Gewohnte. Ich will nur wissen, dass ich das in der CustomAnnotationView tun kann?

+0

Bitte geben Sie mehr Code an. –

Antwort

1

Es sollte

cell.contentView.backgroundColor = ColorFromRGB(COLOR_GREEN); 

jedoch sein, sollten Sie überprüfen, wie Sie die RadioCollectionViewCell Zelle selbst in Storyboard entwerfen. Wenn der Designer dieser Zelle eine weitere UIView über der contentView hinzugefügt hat, müssen Sie stattdessen einen Verweis auf diese Ansicht abrufen und stattdessen den Hintergrund dieser Ansicht ändern.

+0

Danke für die Antwort. Tatsächlich habe ich ein Label mit der gleichen Breite und Höhe dieser RadioCollectionViewCell hinzugefügt. Ich habe versucht, die Farbe dieses Etiketts anstelle der Hintergrundfarbe der Zelle zu ändern. Aber es hat nicht funktioniert. Ich weiß nicht warum. –

+0

Wenn Sie die Farbe des Etiketts ändern möchten, müssen Sie das Iboutlet des Etiketts erhalten und die Farbe normal einstellen. – GeneCode

+0

Ja, natürlich. Ich habe das versucht. aber es hat nicht funktioniert. Wired .. –

Verwandte Themen