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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容