最终效果
1.添加 UIView,设置 backgroundColor = nil
添加 UIView
2.圆角
private func settingRoundCorner() {
let roundLayer = CAShapeLayer()
roundLayer.fillColor = UIColor.red.cgColor
let rect = roundView.bounds
roundLayer.frame = rect
let roundPath = UIBezierPath(roundedRect: rect, cornerRadius: 20)
roundLayer.path = roundPath.cgPath
// 设置 mask 也能达到圆角效果,但是不能再设置阴影效果
// roundView.layer.mask = roundLayer
roundView.layer.addSublayer(roundLayer)
}
3.阴影
private func settingShadow() {
let rect = roundView.bounds
roundView.layer.shadowColor = UIColor.black.cgColor
roundView.layer.shadowRadius = 20
roundView.layer.shadowOpacity = 0.69
// 设置 shadowOffset 会产生离屏渲染
// roundView.layer.shadowOffset = CGSize(width: 5, height: 5)
let path = UIBezierPath(rect: rect.offsetBy(dx: 5, dy: 5))
roundView.layer.shadowPath = path.cgPath
}
Demo地址
网友评论