首页 > 代码库 > UIBezierPath 贝塞尔曲线

UIBezierPath 贝塞尔曲线

1.

    UIBezierPath * path = [UIBezierPath bezierPathWithRoundedRect:CGRectMake(3030100100) cornerRadius:0];

    CAShapeLayer * layer = [CAShapeLayer layer];
    layer.path = path.CGPath;
    layer.fillColor = [[UIColor blackColor]CGColor];

    layer.strokeColor = [[UIColor orangeColor] CGColor];    

    [self.view.layer addSublayer:layer];

  从下图可以看出,这个layer是一个矩形,那是因为 cornerRadius赋值为0

 

本文转自 张江论坛  张江家园网  http://www.999dh.net/home.php?mod=space&uid=1&do=blog&id=370  转载请注明  

2.UIBezierPath * path = [UIBezierPath bezierPathWithRoundedRect:CGRectMake(3030100100) cornerRadius:0];修改为

   UIBezierPath * path = [UIBezierPath bezierPathWithRoundedRect:CGRectMake(3030100100) cornerRadius:30];后,得到的结果是

  

 

 

还可以通过

layer.lineCap = kCALineCapRound;
layer.lineWidth = 3.0f;
来指定stroke的宽度以及各式。

3 .[UIBezierPath bezierPathWithArcCenter:CGPointMake(100100) radius:50 startAngle:0 endAngle:2*3.14159 clockwise:YES];
    是以 100,100为中心点,以50为半径,的一个圆(角度从0到2*PI)  clockwise表示顺时针。

4.UIBezierPath * path = [UIBezierPath bezierPathWithArcCenter:CGPointMake(100100) radius:50 startAngle:0 endAngle:3.14159 clockwise:NO];

    CAShapeLayer * layer = [CAShapeLayer layer];

    layer.path = path.CGPath;

    layer.fillColor = [[UIColor blackColor]CGColor];

    layer.strokeColor = [[UIColor orangeColor] CGColor];

    layer.lineCap = kCALineCapRound;

    layer.lineWidth = 3.0f;

    [self.view.layer addSublayer:layer];

 

  运行入下图
  UIBezierPath * path = [UIBezierPath bezierPathWithArcCenter:CGPointMake(100100) radius:50 startAngle:0 endAngle:3.14159 clockwise:NO];

   从0到一个PI,方向是逆时针,所以就是上半个圆形。