UIBezierPath

2018-01-07  本文已影响0人  Gui晨曦遇晓

UIBezierPath

- (void)drawRect:(CGRect)rect {
    //1.创建贝塞尔路径的实例
    UIBezierPath *path = [UIBezierPath bezierPath];
    //2.勾勒图形
    [path moveToPoint:CGPointMake(40, 40)];
    [path addLineToPoint:CGPointMake(140, 40)];
    [path addLineToPoint:CGPointMake(140, 140)];
    [path addLineToPoint:CGPointMake(40, 140)];
//    [path addLineToPoint:CGPointMake(40, 40)];
    [path closePath];


    [path moveToPoint:CGPointMake(40, 200)];
    [path addLineToPoint:CGPointMake(140, 200)];
    [path addLineToPoint:CGPointMake(140, 300)];
    [path addLineToPoint:CGPointMake(40, 300)];
    [path closePath];

    //设置描边线的宽度
    path.lineWidth = 10;
    //焦点的样式
//    kCGLineJoinMiter, //尖的
//    kCGLineJoinRound, //圆的
//    kCGLineJoinBevel  //斜的  角被砍掉
    path.lineJoinStyle = kCGLineJoinBevel;
    //线两端的样式
//    kCGLineCapButt,  //方的
//    kCGLineCapRound, //圆的 多出一块
//    kCGLineCapSquare //方的 多出一块
    path.lineCapStyle = kCGLineCapSquare;

    //设置 描边颜色
    [[UIColor redColor] setStroke];
    //设置 填充颜色
    [[UIColor greenColor] setFill];
    //描边
    [path stroke];
    //填充
    [path fill];

}
- (void)drawRect:(CGRect)rect {
    UIBezierPath *path = [UIBezierPath bezierPath];
    //clockwise 为YES顺时针  为NO逆时针
    [path addArcWithCenter:CGPointMake(100, 100) radius:80 startAngle:M_PI_2 * 3 endAngle:0 clockwise:YES];
    [path addLineToPoint:CGPointMake(100, 100)];
    [path closePath];

    //移动画笔
//    [path moveToPoint:CGPointMake(100, 180)];
//    [path addArcWithCenter:CGPointMake(100, 100) radius:80 startAngle:M_PI_2 endAngle:M_PI clockwise:YES];
//    [path addLineToPoint:CGPointMake(100, 100)];
//    [path closePath];


    path.lineWidth = 8;
    [[UIColor redColor] setStroke];
    [path stroke];
    [[UIColor greenColor] setFill];
    [path fill];
}
    UIBezierPath *path = [UIBezierPath bezierPath];
    [path moveToPoint:CGPointMake(140, 40)];
    //添加两个控制点 和 终点
    [path addCurveToPoint:CGPointMake(40, 180) controlPoint1:CGPointMake(40, 40) controlPoint2:CGPointMake(140, 180)];

    [path addCurveToPoint:CGPointMake(140, 320) controlPoint1:CGPointMake(140, 180) controlPoint2:CGPointMake(40, 320)];

    [[UIColor redColor]setStroke];
    [path stroke];
    UIBezierPath *rectPath = [UIBezierPath bezierPathWithRect:CGRectMake(50, 50, 200, 80)];
    rectPath.lineWidth = 5;
    [[UIColor greenColor] setStroke];
    [rectPath stroke];
    UIBezierPath *roundedRect = [UIBezierPath bezierPathWithRoundedRect:CGRectMake(50, 150, 200, 80) cornerRadius:20];
    [roundedRect stroke];
    UIBezierPath *oval = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(50, 250, 200, 80)];
    [oval stroke];
上一篇下一篇

猜你喜欢

热点阅读