Estoy tratando de dibujar una sombra debajo del borde inferior de a UIView
en Cocoa Touch. Entiendo que debería usar CGContextSetShadow()
para dibujar la sombra, pero la guía de programación 2D de Quartz es un poco vaga:
- Guarda el estado de los gráficos.
- Llame a la función
CGContextSetShadow
, pasando los valores apropiados. - Realice todo el dibujo al que desea aplicar sombras.
- Restaurar el estado de los gráficos
He intentado lo siguiente en una UIView
subclase:
- (void)drawRect:(CGRect)rect {
CGContextRef currentContext = UIGraphicsGetCurrentContext();
CGContextSaveGState(currentContext);
CGContextSetShadow(currentContext, CGSizeMake(-15, 20), 5);
CGContextRestoreGState(currentContext);
[super drawRect: rect];
}
... pero esto no funciona para mí y estoy un poco atascado sobre (a) dónde ir después y (b) si hay algo que necesito hacer UIView
para que esto funcione.
fuente
#import <QuartzCore/QuartzCore.h>"
al archivo .h.masksToBounds
paraNO
negar elcornerRadius
, ¿no?self.layer.backgroundColor = [[UIColor whiteColor] CGColor];
pero no tuve suerte. ¿Qué vista debe ser transparente?