如何使用UIBezierPath绘制圆角矩形?

时间:2017-12-11 11:24:04

标签: ios swift uibezierpath

我试图使用圆角矩形UIBezierPath屏蔽视图。我希望面具看起来像完全,就像我刚刚设置layer.cornerRadius一样:

let frame = CGRect(x: 0, y: 0, width: 80, height: 80)
let cornerRadius = 30

使用cornerRadius

let view = UIView(frame: frame)
view.layer.cornerRadius = cornerRadius

使用UIBezierPath掩码

let view = UIView(frame: frame)
let maskingShape = CAShapeLayer()
maskingShape.path = UIBezierPath(roundedRect: frame, cornerRadius: cornerRadius).cgPath
view.layer.mask = maskingShape

由此产生的圆形反应完全不同。标准的cornerRadius按预期工作,而bezier路径只捕捉到一定半径的整圆。

enter image description here

显然,这是iOS 7的预期行为。

如何使用bezier路径绘制标准的圆角矩形?

我找到了this category,但这一定是个笑话吗?有没有更简单的方法? :(

Related question

0 个答案:

没有答案