2024年2月19日发(作者:)

} } public var margins: UIEdgeInsets = .zero{ didSet{ redraw() } }

// MARK: - initial method

override func draw(_ rect: CGRect) { (rect)

var corners: UIRectCorner = [] if topLeft { (.topLeft) } if bottomLeft { (.bottomLeft) } if topRight { (.topRight) } if bottomRight { (.bottomRight) }

if shadRadius > 0 { //绘制阴影

let context = UIGraphicsGetCurrentContext() context?.setShadow(offset: shadOffset, blur: shadowRadius, color: r) l() () }

//绘制mask let maskPath = UIBezierPath(roundedRect: rect, byRoundingCorners: corners, cornerRadii: CGSize(width: cornerRadius, height: cornerRadius)) let maskLayer = CAShapeLayer() = = rect = maskLayer }

// MARK: - lifecycle override func awakeFromNib() { romNib()

}

// MARK: - private method fileprivate func redraw(){ setNeedsDisplay() if shadowRadius > 0 { backgroundColor = } }} let shadowPath = UIBezierPath(roundedRect: WithMargins(margins), byRoundingCorners: corners, cornerRadii: CGSize(width: cornerRadius, height: corne