我试图使用圆角矩形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路径只捕捉到一定半径的整圆。
显然,这是iOS 7的预期行为。
如何使用bezier路径绘制标准的圆角矩形?
我找到了this category,但这一定是个笑话吗?有没有更简单的方法? :(