Guest User

Untitled

a guest
Jul 6th, 2020
182
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Swift 1.26 KB | None | 0 0
  1. class CustomButton: UIButton {
  2.    
  3.     var backgroundImage: UIImage?
  4.     var cornerRadius: CGFloat = 0
  5.     var shadowRadius: CGFloat = 0
  6.     var shadowOpacity: Float = 0
  7.     var shadowOffset: CGSize = .zero
  8.     var shadowColor: UIColor?
  9.    
  10.     private var imageLayer: CALayer!
  11.     private var shadowLayer: CALayer!
  12.    
  13.     override func draw(_ rect: CGRect) {
  14.         addShadowsLayers(rect)
  15.     }
  16.    
  17.     private func addShadowsLayers(_ rect: CGRect) {
  18.         // Add Image
  19.         let imageLayer = CALayer()
  20.         imageLayer.frame = rect
  21.         imageLayer.contents = backgroundImage?.cgImage
  22.         imageLayer.cornerRadius = cornerRadius
  23.         imageLayer.masksToBounds = true
  24.         layer.insertSublayer(imageLayer, at: 0)
  25.         self.imageLayer = imageLayer
  26.        
  27.         // Set the shadow
  28.         let shadowLayer = CALayer()
  29.         shadowLayer.masksToBounds = false
  30.         shadowLayer.shadowColor = shadowColor?.cgColor
  31.         shadowLayer.shadowOffset = shadowOffset
  32.         shadowLayer.shadowOpacity = shadowOpacity
  33.         shadowLayer.shadowRadius = shadowRadius
  34.         shadowLayer.shadowPath = UIBezierPath(rect: rect).cgPath
  35.         layer.insertSublayer(shadowLayer, at: 0)
  36.         self.shadowLayer = shadowLayer
  37.     }
  38. }
Add Comment
Please, Sign In to add comment