Как придать овальную форму UIView с помощью тени - PullRequest
0 голосов
/ 19 июня 2020

Как сделать uiview с овальной формой внизу только с тенью

How to make uiview with oval shape at bottom side only with shadow

1 Ответ

1 голос
/ 19 июня 2020

Для этого нужно использовать UIBezierPath. Вот пример (просто нужно поиграть со значениями):

   let layer = CAShapeLayer()
    layer.fillColor = UIColor.red.cgColor
    layer.shadowOffset = CGSize(width: 0, height: 2)
    layer.shadowRadius = 5
    layer.shadowColor = UIColor.black.cgColor
    layer.shadowOpacity = 0.5
    layer.shadowRadius = 2
    view.layer.addSublayer(layer)

    let path = UIBezierPath()
    path.move(to: .zero)
    path.addLine(to: CGPoint(x: view.frame.maxX, y: 0))
    path.addLine(to: CGPoint(x: view.frame.maxX, y: 50))
    path.addQuadCurve(to: CGPoint(x: 0, y: 50), controlPoint: CGPoint(x: view.frame.midX, y: 70))
    path.close()

    layer.path = path.cgPath

и результат:

enter image description here

...