ARTICLE AD BOX
I'm trying to add shadow to Border, but it is not working shadow should as seen in image, But actual requirement is like Button will be clear bg, and shadow around border. So how can i achieve it?
Image

Code
class GlowButton: UIButton { private let borderGlowLayer = CAShapeLayer() override init(frame: CGRect) { super.init(frame: frame) setup() } required init?(coder: NSCoder) { super.init(coder: coder) setup() } private func setup() { backgroundColor = .clear layer.masksToBounds = false clipsToBounds = false borderGlowLayer.fillColor = UIColor.clear.cgColor borderGlowLayer.strokeColor = UIColor.clear.cgColor borderGlowLayer.lineWidth = 2.5 borderGlowLayer.shadowOffset = .zero borderGlowLayer.shadowRadius = 0 borderGlowLayer.shadowOpacity = 0 borderGlowLayer.masksToBounds = false layer.addSublayer(borderGlowLayer) } override func layoutSubviews() { super.layoutSubviews() layer.masksToBounds = false clipsToBounds = false borderGlowLayer.frame = bounds borderGlowLayer.path = UIBezierPath(roundedRect: bounds, cornerRadius: 20).cgPath } override func didUpdateFocus(in context: UIFocusUpdateContext, with coordinator: UIFocusAnimationCoordinator) { super.didUpdateFocus(in: context, with: coordinator) coordinator.addCoordinatedAnimations { if self.isFocused { self.borderGlowLayer.strokeColor = Colors.focused_border.cgColor self.borderGlowLayer.shadowColor = Colors.focused_border.cgColor self.borderGlowLayer.shadowRadius = 12 self.borderGlowLayer.shadowOpacity = 1.0 } else { self.borderGlowLayer.strokeColor = UIColor.clear.cgColor self.borderGlowLayer.shadowOpacity = 0.0 self.borderGlowLayer.shadowRadius = 0 } } } }