使用UIBezierPath,我试图在自定义UIView的灰色背景上创建一个黄色的圆形矩形。如果您能帮助我理解为什么这个代码片段不起作用,我将不胜感激:

class CardView: UIView {
    override func draw(_ rect: CGRect) {
        let roundedRect = UIBezierPath(roundedRect: bounds, cornerRadius: 16.0)
        UIColor.yellow.setFill()
        roundedRect.fill()
    }
}

谢谢你的帮助!

最佳答案

我想出来了。. . 我没有调用addClip()方法。

class CardView: UIView {

    override func draw(_ rect: CGRect) {
        let roundedRect = UIBezierPath(roundedRect: bounds, cornerRadius: 16.0)
        roundedRect.addClip()
        UIColor.yellow.setFill()
        roundedRect.fill()
    }

}
现在可以了。

09-25 19:44