如何围绕两个重叠的UIViews绘制边框

时间:2017-09-28 22:08:24

标签: uiview border shape mask

我有两个UIViews在重叠时创建一个独特的形状,我想在组合视图周围绘制一个边框。

这样做的正确方法是什么?

UIViews是:

  1. 圆形图像视图以显示用户个人资料图像
  2. 一个矩形视图,它将容器用户配置文件数据(即名称,dob等)
  3. 以下是两个视图一起显示的图像: enter image description here

1 个答案:

答案 0 :(得分:0)

好的通过以下方式弄明白:

  1. 在矩形UIView上设置边框
  2. 使用CAShapeLayer创建UIBezierPath以绘制半圆并将其添加到UIView's方法中的圆drawRect图层:

    覆盖func draw(_ rect:CGRect){     super.draw(RECT)

    let shapeLayer = CAShapeLayer()
    let topSemiCirclePath = UIBezierPath(arcCenter: userImageView.center, radius: userImageView.bounds.size.width / 2.0, startAngle: CGFloat(Double.pi), endAngle: CGFloat(Double.pi / 180), clockwise: true)
    topSemiCirclePath.lineWidth = 2.0
    UIColor.lightGray.setStroke()
    topSemiCirclePath.stroke()
    shapeLayer.path = topSemiCirclePath.cgPath
    userImageView.layer.addSublayer(shapeLayer)
    

    }