來源?https://www.cnblogs.com/jaesun/p/iOS-CAShapeLayerUIBezierPath-hua-xian.html
+ (instancetype)bezierPathWithArcCenter:(CGPoint)center radius:(CGFloat)radius startAngle:(CGFloat)startAngle endAngle:(CGFloat)endAngle clockwise:(BOOL)clockwise
center:圓弧的中心回铛,相對所在視圖兴喂; radius:圓弧半徑; startAngle:起始點的角度(相對角度坐標系0); endAngle:結(jié)束點的角度(相對角度坐標系0)鸟召; clockwise:是否為順時針方向。
- (void)addArcWithCenter:(CGPoint)center radius:(CGFloat)radius startAngle:(CGFloat)startAngle endAngle:(CGFloat)endAngle clockwise:(BOOL)clockwise
在原有的線上添加一條弧線 样刷。center:圓弧的中心败去,相對所在視圖; radius:圓弧半徑笤受; startAngle:起始點的角度(相對角度坐標系0)穷缤; endAngle:結(jié)束點的角度(相對角度坐標系0); clockwise:是否為順時針方向箩兽。
UIView * view = [[UIView alloc] initWithFrame:CGRectMake(CGRectGetMidX(self.view.frame) - 100, CGRectGetMidY(self.view.frame) - 100, 200, 200)];
? ? view.backgroundColor = [UIColor orangeColor];
? ? [self.view addSubview:view];
? ? // 線的路徑? ? CGPoint viewCenter = CGPointMake(view.frame.size.width / 2.0, view.frame.size.height / 2.0); // 畫弧的中心點津肛,相對于view? ?
? ? UIBezierPath *path = [UIBezierPath bezierPathWithArcCenter:viewCenter radius:50.0 startAngle:0 endAngle:M_PI_2 clockwise:YES];
? ? CAShapeLayer *pathLayer = [CAShapeLayer layer];
? ? pathLayer.lineWidth = 2;
? ? pathLayer.strokeColor = [UIColor greenColor].CGColor;
? ? pathLayer.fillColor = nil; // 默認為blackColor? ? pathLayer.path = path.CGPath;
? ? [view.layer addSublayer:pathLayer];
在矩形中畫內(nèi)切橢圓
// 需要圓視圖 UIView * view = [[UIView alloc] initWithFrame:CGRectMake(CGRectGetMidX(self.view.frame) - 130, CGRectGetMidY(self.view.frame) - 100, 260, 200)];
? ? view.backgroundColor = [UIColor orangeColor];
? ? [self.view addSubview:view];
? ? // 線的路徑? ? UIBezierPath *path = [UIBezierPath bezierPathWithOvalInRect:view.bounds];
? ? CAShapeLayer *pathLayer = [CAShapeLayer layer];
? ? pathLayer.lineWidth = 2;
? ? pathLayer.strokeColor = [UIColor greenColor].CGColor;
? ? pathLayer.path = path.CGPath;
? ? pathLayer.fillColor = nil; // 默認為blackColor? ? [view.layer addSublayer:pathLayer];