如何使用阴影将椭圆形赋予UIView

时间:2020-06-19 09:36:58

标签: ios swift uiview shadow shapes

如何使uiview的底部仅带有阴影的椭圆形

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

1 个答案:

答案 0 :(得分:1)

您需要为此使用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