1. 对UIView进行扩展
extension UIView{
func addCorner(conrners: UIRectCorner , radius: CGFloat) {
let maskPath = UIBezierPath(roundedRect: self.bounds, byRoundingCorners: conrners, cornerRadii: CGSize(width: radius, height: radius))
let maskLayer = CAShapeLayer()
maskLayer.frame = self.bounds
maskLayer.path = maskPath.cgPath
self.layer.mask = maskLayer
}
}
2. 调用
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let bgView = UIView()
bgView.backgroundColor = UIColor.red
bgView.frame = CGRect.init(x: 20, y: 100, width: 100, height: 100)
bgView.addCorner(conrners:[.topRight,.bottomRight], radius: 10)
self.view.addSubview(bgView)
}
}

最终显示效果
网友评论