tom*_*dey 5 ios uibezierpath swift
我正在尝试用圆角矩形掩盖视图UIBezierPath。我希望蒙版看起来与我刚刚设置时完全相同layer.cornerRadius:
let frame = CGRect(x: 0, y: 0, width: 80, height: 80)
let cornerRadius = 30
Run Code Online (Sandbox Code Playgroud)
使用cornerRadius:
let view = UIView(frame: frame)
view.layer.cornerRadius = cornerRadius
Run Code Online (Sandbox Code Playgroud)
使用UIBezierPath面膜:
let view = UIView(frame: frame)
let maskingShape = CAShapeLayer()
maskingShape.path = UIBezierPath(roundedRect: frame, cornerRadius: cornerRadius).cgPath
view.layer.mask = maskingShape
Run Code Online (Sandbox Code Playgroud)
生成的圆角矩形完全不同。标准cornerRadius按预期工作,而贝塞尔曲线路径仅捕捉到特定半径的完整圆。
显然,这是 iOS 7 的预期行为。
那么如何绘制带有贝塞尔曲线路径的标准圆角矩形呢?
我找到了这个类别,但这一定是个笑话吧?难道就没有更简单的办法吗?:(
相关问题。