UICollectionViewCell con esquinas redondeadas Y sombra paralela no funciona
Quiero que mis UICollectionViewCells tengan esquinas redondeadas y sombras paralelas, pero me he encontrado con un problema en el que parece que solo puedo tener una o la otra, pero no ambas.
Para redondear las esquinas, uso este código en la inicialización de la celda:
CALayer *layer = [self layer];
[layer setCornerRadius:4];
[layer setRasterizationScale:[[UIScreen mainScreen] scale]];
[layer setShouldRasterize:YES];
Solo para agregar una sombra paralela, uso este código en la inicialización de la celda:
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]];
Para probar y tener esquinas redondeadas y una sombra paralela, uso este código en la inicialización de la celda:
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]];
pero esto da como resultado solo la sombra paralela.
¿Es esto un error o estoy haciendo algo mal?