如何为UIBezierPath提供cornerRadius

我使用以下代码创建了一个矩形,现在我需要舍入这个矩形的角。 但我找不到一个名为layer.cornerRadius的属性,有人可以帮帮我吗?

class OvalLayer: CAShapeLayer { let animationDuration: CFTimeInterval = 0.3 override init() { super.init() fillColor = Colors.green.CGColor path = ovalPathSmall.CGPath } required init?(coder aDecoder: NSCoder) { fatalError("init(coder:) has not been implemented") } var ovalPathStart: UIBezierPath { let path = UIBezierPath(ovalInRect: CGRect(x: 0.0, y: 0.0, width: 100.0, height: 100.0)) return path } } 

您可以使用以下方法制作所有角落视图…

  UIBezierPath(roundedRect: anyView.bounds, cornerRadius: CGSize(width: 10.0, height: 10.0)) 

如果你想在特定的角落下方使用以下方法。

  UIBezierPath(roundedRect: anyView.bounds, byRoundingCorners: .BottomLeft | .BottomRight, cornerRadius: CGSize(width: 10.0, height: 10.0)) 

像这样使用:

 let pathWithRadius = UIBezierPath(roundedRect:yourView.bounds, byRoundingCorners:[.TopRight, .TopLeft], cornerRadii: CGSizeMake(5.0, 5.0)) let maskLayer = CAShapeLayer() maskLayer.pathWithRadius = pathWithRadius.CGPath yourView.layer.mask = maskLayer 

for All Corner Radius编辑此内容

 [.TopRight,.TopLeft,.BottomRight, .BottomLeft] 

使用此初始化程序

 let path1 = UIBezierPath(roundedRect: CGRect, cornerRadius: CGFloat) 

要么

 let path1 = UIBezierPath(roundedRect: CGRect, byRoundingCorners: UIRectCorner, cornerRadii: CGSize)) 

目标c:

 UIBezierPath* path = [UIBezierPath bezierPathWithRoundedRect: CGRectMake(0, 0, 150, 153) cornerRadius: 50]; 

SWIFT:

 var path: UIBezierPath = UIBezierPath(roundedRect: CGRectMake(0, 0, 150, 153), cornerRadius: 50) 

希望这会有所帮助。