我有两个UIViews在重叠时创建一个独特的形状,我想在组合视图周围绘制一个边框。
这样做的正确方法是什么?
UIViews是:
答案 0 :(得分:0)
好的通过以下方式弄明白:
使用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)
}