UICollectionViewCell z zaokrąglonymi narożnikami I nie działa cień

Chcę, aby moje UICollectionViewCells miały zaokrąglone rogi i cienie, ale natrafiłem na problem, w którym wydaje mi się, że mogę mieć tylko jeden lub drugi, ale nie oba.

Aby zaokrąglić rogi, używam tego kodu w inicjalizacji komórki:

CALayer *layer = [self layer];
[layer setCornerRadius:4];
[layer setRasterizationScale:[[UIScreen mainScreen] scale]];
[layer setShouldRasterize:YES];

Aby dodać cień, używam tego kodu w inicjalizacji komórki:

CALayer *layer = [self layer];
[layer setMasksToBounds:NO];
[layer setRasterizationScale:[[UIScreen mainScreen] scale]];
[layer setShouldRasterize:YES];
[layer setShadowColor:[[UIColor blackColor] CGColor]];
[layer setShadowOffset:CGSizeMake(0.0f,0.5f)];
[layer setShadowRadius:8.0f];
[layer setShadowOpacity:0.2f];
[layer setShadowPath:[[UIBezierPath bezierPathWithRoundedRect:self.bounds cornerRadius:layer.cornerRadius] CGPath]];

Aby wypróbować zaokrąglone rogi i cień, używam tego kodu w inicjalizacji komórki:

CALayer *layer = [self layer];
[layer setMasksToBounds:NO];
[layer setCornerRadius:4];
[layer setRasterizationScale:[[UIScreen mainScreen] scale]];
[layer setShouldRasterize:YES];
[layer setShadowColor:[[UIColor blackColor] CGColor]];
[layer setShadowOffset:CGSizeMake(0.0f,0.5f)];
[layer setShadowRadius:8.0f];
[layer setShadowOpacity:0.2f];
[layer setShadowPath:[[UIBezierPath bezierPathWithRoundedRect:self.bounds cornerRadius:layer.cornerRadius] CGPath]];

ale powoduje to tylko cień.

Czy to błąd, czy robię coś źle?

questionAnswers(5)

yourAnswerToTheQuestion