Skip to content

Instantly share code, notes, and snippets.

@ducito
Created January 13, 2019 05:51
Show Gist options
  • Save ducito/45979f8b871a4e9dabd048de981aadd7 to your computer and use it in GitHub Desktop.
Save ducito/45979f8b871a4e9dabd048de981aadd7 to your computer and use it in GitHub Desktop.
private var shadowLayer: CAShapeLayer!
private var cornerRadius: CGFloat = 25.0
private var fillColor: UIColor = .blue // the color applied to the shadowLayer, rather than the view's backgroundColor
override func layoutSubviews() {
super.layoutSubviews()
if shadowLayer == nil {
shadowLayer = CAShapeLayer()
shadowLayer.path = UIBezierPath(roundedRect: bounds, cornerRadius: cornerRadius).cgPath
shadowLayer.fillColor = fillColor.cgColor
shadowLayer.shadowColor = UIColor.black.cgColor
shadowLayer.shadowPath = shadowLayer.path
shadowLayer.shadowOffset = CGSize(width: 0.0, height: 1.0)
shadowLayer.shadowOpacity = 0.2
shadowLayer.shadowRadius = 3
layer.insertSublayer(shadowLayer, at: 0)
}
}
// Full example: https://github.com/learn-swift/RoundShadowView
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment