UIBezzierPath用于圆角矩形

时间:2015-05-05 13:32:51

标签: ios swift

我正在使用UIBezzierPath使用此

在框架周围绘制一个圆圈
 let circlePath = UIBezierPath(arcCenter: CGPoint(x: frame.size.width / 2.0, y: frame.size.height / 2.0), radius: (frame.size.width - 10)/2, startAngle: 0.0, endAngle: CGFloat(M_PI * 2.0), clockwise: true)

我想做同样的事情,但我想画圆角矩形而不是圆圈。

我该怎么做?

2 个答案:

答案 0 :(得分:1)

您可以使用UIBezierPath作为 -

CAShapeLayer * maskLayer = [CAShapeLayer layer];
maskLayer.path = [UIBezierPath bezierPathWithRoundedRect: self.bounds byRoundingCorners: UIRectCornerTopLeft | UIRectCornerTopRight | UIRectCornerBottomLeft | UIRectCornerBottomRight cornerRadii: (CGSize){10., 10.}].CGPath;

self.layer.mask = maskLayer;

您也可以通过将视图层上的角半径设置为 -

来实现
view.backgroundColor = UIColor.clearColor()
view.layer.cornerRadius = 5
view.layer.borderWidth = 1
view.layer.borderColor = UIColor.blackColor().CGColor

答案 1 :(得分:0)

我认为这应该适合你:

let side = self.view.frame.size.width - 10
let cornerRadius = 5
let rectPath = UIBezierPath(roundedRect: CGRectMake(0, 0, side, side), cornerRadius: cornerRadius)