iOS Xib画虚线方法

  • 代码设置尺寸
  • 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画虚线方法)