2016-09-06 4 views
1

Я пытаюсь нарисовать пустой круг с цветом штриха с тенью.Линейный круг с тенью

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

Но тень заполняет весь круг. Как удалить его и сохранить внешнюю тень?

ответ

2

Просто опускает настройки shapeLayer.shadowPath и вы получите что-то вроде этого (стандартной тень слоя, которая в основном непрозрачные части слоя):

enter image description here