Tengo un button al que agrego una sombra para que me guste esto:
b.backgroundColor = [UIColor colorWithRed:0.820 green:0.878 blue:0.941 alpha:1.000]; b.layer.cornerRadius = 3; b.layer.shadowOffset = CGSizeMake(2, 2); b.layer.shadowOpacity = 0.2; b.layer.shadowRadius = 0;
Eso funciona muy bien:
Si utilizo la ruta de acceso sombra de esta manera:
b.layer.shadowPath = [UIBezierPath bezierPathWithRoundedRect:b.bounds cornerRadius:b.layer.cornerRadius].CGPath;
La sombra está borrosa en los dispositivos de retina:
Está bien en dispositivos sin retina y parece funcionar correctamente si shadowRadius
no es cero. He intentado configurar contentsScale
and rasterizationScale
a 2 pero no afecta a la sombra.
¿Alguna otra idea?
A partir de iOS 9.0, la propiedad contentsScale
de CALayer
también afectará la escala de rasterización de shadowPath
. En otras palabras, ajustar la escala del contentsScale
de contentsScale
to Screen solucionará su problema.