Aplica una sombra a ambos lados de un UIBezierPath

Actualmente estoy dibujando en la pantalla. Obtengo líneas suaves, puedo cambiar el color de mis dibujos. Pero no puedo encontrar cómo aplicar una sombra a esa línea.

Para dibujarlo, uso:

[path strokeWithBlendMode:[path blendMode] alpha:1.0]; 

Vi que podía usar CGContextSetShadowWithColor() pero a pesar de eso, no estoy seguro de cómo usarlo, ya que esto es lo que se dice en la reference de strokeWithBlendMode para strokeWithBlendMode :

Este método guarda automáticamente el estado actual de los charts antes de dibujar y restaura ese estado cuando se hace, por lo que no tiene que save el estado de charts usted mismo.

Así que realmente no sé dónde poner ese CGContextSetShadowWithColor() o cualquier otra cosa si puedo usarlo.

Saludos

Si desea usar CGContextSetShadowwithColor() , tendrá que cambiar la forma de dibujar su bezierpath en la vista para que dibuje la representación CGPath en el CGContext . A continuación se muestra un ejemplo:

 UIBezierPath *path; // this is your path as before CGContextRef context = UIGraphicsGetCurrentContext(); CGContextAddPath(context, path.CGPath); CGContextSetLineWidth(context, 2.0); CGContextSetBlendMode(context, path.blendMode); CGContextSetShadowWithColor(context, CGSizeMake(1.0, 1.0), 2.0, [UIColor blackColor].CGColor); CGContextStrokePath(context); 

Otra forma de hacerlo es crear un nuevo CAShapeLayer y dibujar una ruta a eso configurándolo como la propiedad de ruta. Esto le permitirá fácilmente agregar una sombra que solo ensombrecerá su ruta.