美文网首页
CALayer根据点绘制线、不规则图

CALayer根据点绘制线、不规则图

作者: 世玉茹花 | 来源:发表于2019-12-31 13:51 被阅读0次

常遇到绘制一些不规则图,除了跟ui要图,,可以自己绘制。
记录个简单绘制方法:


aaa.png
- (void)setUI
{
    UIView * view = [[UIView alloc] initWithFrame:CGRectMake(40, 50, 80, 100)];

    view.backgroundColor = [UIColor orangeColor];

    [self.view addSubview:view];

    view.layer.mask = [self creatMaskLayerWithView:view];

}

- (CAShapeLayer*)creatMaskLayerWithView:(UIView*)view

{

    CGFloat viewWidth =CGRectGetWidth(view.frame);

    CGFloat viewHeight =CGRectGetHeight(view.frame);

    CGFloat rightSpace =10;

    CGFloat topSpace =15;

    CGPoint point1 =CGPointMake(0,0);

    CGPoint point2 =CGPointMake(viewWidth - rightSpace,0);

    CGPoint point3 =CGPointMake(viewWidth - rightSpace, topSpace);

    CGPoint point4 =CGPointMake(viewWidth, topSpace);

    CGPoint point5 =CGPointMake(viewWidth - rightSpace, topSpace +10);

    CGPoint point6 =CGPointMake(viewWidth - rightSpace, viewHeight);

    CGPoint point7 =CGPointMake(0, viewHeight);



    UIBezierPath * path = [UIBezierPath bezierPath];

    [path moveToPoint:point1];

    [path addLineToPoint:point2];

    [path addLineToPoint:point3];

    [path addLineToPoint:point4];

    [path addLineToPoint:point5];

    [path addLineToPoint:point6];

    [path addLineToPoint:point7];

    [path closePath];

    CAShapeLayer * layer = [CAShapeLayer layer];

    layer.path= path.CGPath;

    return layer;

}

相关文章

网友评论

      本文标题:CALayer根据点绘制线、不规则图

      本文链接:https://www.haomeiwen.com/subject/rmmboctx.html