Как я могу заполнить только часть пользовательского прямоугольника UIView? - PullRequest
0 голосов
/ 20 июня 2019

Используя UIBezierPath, я пытаюсь создать желтый прямоугольник с закругленными углами "поверх" серого фона пользовательского UIView. Буду признателен, если вы поможете мне понять, почему этот фрагмент кода не работает:

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

This links to a picture of my storyboard.

Спасибо за помощь!

1 Ответ

2 голосов
/ 20 июня 2019

Я понял это. , , Я не вызывал метод addClip ().

class CardView: UIView {

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

}

Теперь это работает.

...