Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class CustomButton: UIButton {
- var backgroundImage: UIImage?
- var cornerRadius: CGFloat = 0
- var shadowRadius: CGFloat = 0
- var shadowOpacity: Float = 0
- var shadowOffset: CGSize = .zero
- var shadowColor: UIColor?
- private var imageLayer: CALayer!
- private var shadowLayer: CALayer!
- override func draw(_ rect: CGRect) {
- addShadowsLayers(rect)
- }
- private func addShadowsLayers(_ rect: CGRect) {
- // Add Image
- let imageLayer = CALayer()
- imageLayer.frame = rect
- imageLayer.contents = backgroundImage?.cgImage
- imageLayer.cornerRadius = cornerRadius
- imageLayer.masksToBounds = true
- layer.insertSublayer(imageLayer, at: 0)
- self.imageLayer = imageLayer
- // Set the shadow
- let shadowLayer = CALayer()
- shadowLayer.masksToBounds = false
- shadowLayer.shadowColor = shadowColor?.cgColor
- shadowLayer.shadowOffset = shadowOffset
- shadowLayer.shadowOpacity = shadowOpacity
- shadowLayer.shadowRadius = shadowRadius
- shadowLayer.shadowPath = UIBezierPath(rect: rect).cgPath
- layer.insertSublayer(shadowLayer, at: 0)
- self.shadowLayer = shadowLayer
- }
- }
Add Comment
Please, Sign In to add comment