Вырезать вид в форме волны в iOS - PullRequest
0 голосов
/ 27 августа 2018

Я пытаюсь создать вид, как показано ниже, программно.Я полагаю, что мне нужно будет использовать путь Beizer, но я не уверен, как мне определить точки пути?Любая помощь приветствуется

enter image description here

func createShape() -> UIBezierPath {

    // create a new path
    let path = UIBezierPath()

   //Need to determine path points here
}

1 Ответ

0 голосов
/ 28 августа 2018

Для получения нужной формы см. Нижеприведенный код, надеюсь, она вам поможет

 let view = UIView(frame: CGRect(x: 50, y: 100, width: 200, height: 300))

        let path = UIBezierPath()
        path.move(to: CGPoint(x: 0.0, y: 200))
        path.addCurve(to: CGPoint(x: 200, y:150),
                      controlPoint1: CGPoint(x: 50, y: 350),
                      controlPoint2: CGPoint(x:150, y: 0))
        path.addLine(to: CGPoint(x: view.frame.size.width, y: view.frame.size.height))
        path.addLine(to: CGPoint(x: 0.0, y: view.frame.size.height))
        path.close()

        let shapeLayer = CAShapeLayer()
        shapeLayer.path = path.cgPath

        view.backgroundColor = UIColor.black
        view.layer.mask = shapeLayer
        self.view.addSubview(view)

и вот мой вывод enter image description here

...