iOS 虚线边框

作者: 零粹 | 来源:发表于2020-01-07 19:12 被阅读0次

    给控件设置虚线边框

    #pragma mark - 控件虚线边框
    /**
     给控件设置虚线边框
    
     @param strokeColor 边框颜色
     @param fillColor 控件填充颜色
     @param rect 控件的bound
     @param width 虚线的宽度
     @param pattern 虚线的间隔:数组
     @param radius 控件的圆角
     @return layer
     */
    -(CAShapeLayer *)newLayer:(UIColor *)strokeColor fillColor:(UIColor *)fillColor rect:(CGRect)rect width:(CGFloat)width pattern:(NSArray *)pattern radius:(CGFloat)radius{
        
        CAShapeLayer *layer = [CAShapeLayer layer];
        layer.strokeColor = strokeColor.CGColor;
        layer.fillColor = fillColor.CGColor;
        UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:rect cornerRadius:radius];
        layer.path = path.CGPath;
        layer.frame = rect;
        layer.lineWidth = width;
        layer.lineDashPattern = pattern;
        layer.masksToBounds = YES;
        return layer;
    }
    

    调用

        UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
        btn.frame = CGRectMake(16, 0, self.view.frame.size.width - 32, 45);
        [btn setTitle:@"确定" forState:UIControlStateNormal];
        [btn setTitleColor:[UIColor orangeColor] forState:UIControlStateNormal];
        btn.titleLabel.font = [UIFont systemFontOfSize:17];
        btn.layer.masksToBounds = YES;
        [self.view addSubview:btn];
        [btn.layer addSublayer:[self newLayer:theme_Color fillColor:[UIColor clearColor] rect:btn.bounds width:1.0 pattern:@[@(2)] radius:5]];
    

    相关文章

      网友评论

        本文标题:iOS 虚线边框

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