美文网首页
iOS Xib画虚线方法

iOS Xib画虚线方法

作者: geekAppke | 来源:发表于2018-07-26 09:23 被阅读339次
    • 代码设置尺寸
    • xib设置类型!

    Xib添加虚线

    @implementation BNDiscountCouponDottedLine
    
    #pragma mark - Initial Methods
    - (instancetype)initWithFrame:(CGRect)frame {
        
        if (self = [super initWithFrame:frame]) {
            
            self.backgroundColor = UIColor.whiteColor;
            [self drawDottedLine];
        }
        return self;
    }
    - (instancetype)initWithCoder:(NSCoder *)aDecoder
        
        if (self = [super initWithCoder:aDecoder]) {
            
            self.backgroundColor = UIColor.whiteColor;
            [self drawDottedLine];
        }
        return self;
    }
    
    - (void)layoutSubviews {
        
        [super layoutSubviews];
        [self drawDottedLine];
    }
    
    #pragma mark - Private
    
    -(void)drawDottedLine{
        
        CAShapeLayer *dotteShapeLayer = [CAShapeLayer layer];
        CGMutablePathRef dotteShapePath =  CGPathCreateMutable();
        //设置虚线颜色为blackColor
        [dotteShapeLayer setStrokeColor:UIColorFromHexValue(0xededed).CGColor];
        //设置虚线宽度
        dotteShapeLayer.lineWidth = 1.0f ;
        //10=线的宽度 5=每条线的间距
        NSArray *dotteShapeArr = [[NSArray alloc] initWithObjects:[NSNumber numberWithInt:4],[NSNumber numberWithInt:2], nil];
        [dotteShapeLayer setLineDashPattern:dotteShapeArr];
        CGPathMoveToPoint(dotteShapePath, NULL, 0 ,0);
        CGPathAddLineToPoint(dotteShapePath, NULL, self.width, 0);
        [dotteShapeLayer setPath:dotteShapePath];
        CGPathRelease(dotteShapePath);
        //把绘制好的虚线添加上来
        [self.layer removeAllSublayers];
        [self.layer addSublayer:dotteShapeLayer];
    }
    @end
    

    相关文章

      网友评论

          本文标题:iOS Xib画虚线方法

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