Как обрезать один край пользовательского интерфейса в swift?

#ios #swift #transform #uibezierpath

#iOS #swift #преобразовать #uibezierpath

Вопрос:

Я пытаюсь обрезать один край UIView, используя путь Безье, но я не могу этого сделать, кто-нибудь, пожалуйста, может просветить меня?

введите описание изображения здесь

Спасибо

Ответ №1:

Вы можете попробовать назначить это представлению

 class RightView : UIView {

    override init(frame: CGRect) {
        super.init(frame: frame)
    }

    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
    }

    override func draw(_ rect: CGRect) {

        guard let context = UIGraphicsGetCurrentContext() else { return }
        context.beginPath()
        context.move(to: CGPoint(x: rect.maxX, y: rect.minY))
        context.addLine(to: CGPoint(x: rect.maxX, y: rect.maxY))
        context.addLine(to: CGPoint(x:rect.maxX - 50, y: rect.maxY))
        context.closePath()

        context.setFillColor(UIColor.white.cgColor)
        context.fillPath()
    }
    override func awakeFromNib() {
        super.awakeFromNib()
        self.layer.borderColor = UIColor.black.cgColor
        self.layer.borderWidth = 1
    }
}
  

введите описание изображения здесь