2016-09-06 2 views
1

Ich versuche, einen leeren Kreis mit einer Strichfarbe mit einem Schatten zu zeichnen.Linienkreis mit Schatten

let bezierPath    = UIBezierPath(ovalIn: CGRect(x: 80, y: 200, width: 100, height: 100)) 

let shapeLayer    = CAShapeLayer() 
shapeLayer.path    = bezierPath.cgPath 
shapeLayer.fillColor  = UIColor.clear.cgColor 
shapeLayer.strokeColor  = UIColor.white.cgColor 
shapeLayer.lineWidth  = 3 
shapeLayer.shadowPath  = bezierPath.cgPath 
shapeLayer.shadowColor  = UIColor.black.cgColor 
shapeLayer.shadowOffset  = CGSize(width: 0, height: 0) 
shapeLayer.shadowOpacity = 1 

containerView.layer.addSublayer(shapeLayer) 

The result

Aber Schatten den ganzen Kreis füllt. Wie man es entfernt und den äußeren Schatten behält?

Antwort

2

einfach weglassen shapeLayer.shadowPath Einstellung und Sie werden so etwas wie dies (die Ebene des Standard Schatten, die im Grunde die undurchsichtigen Teile der Schicht) erhalten:

enter image description here