iOS画圆角矩形的方法

1.CGContextAddArcToPoint

+(void)drawRoundRectInContext:(CGContextRef)context withRect:(CGRect)rect{

    CGFloat minx = CGRectGetMinX(rect);

    CGFloat midx = CGRectGetMidX(rect);

    CGFloat maxx = CGRectGetMaxX(rect);

    

    CGFloat miny = CGRectGetMinY(rect);

    CGFloat midy = CGRectGetMidY(rect);

    CGFloat maxy = CGRectGetMaxY(rect);

    

    CGFloat filletRadius = CGRectGetHeight(rect)/2;

    

    CGContextMoveToPoint(context, minx, midy);

    

    CGContextAddArcToPoint(context, minx, miny, midx, miny, filletRadius);

    CGContextAddArcToPoint(context, maxx, miny, maxx, midy, filletRadius);

    CGContextAddArcToPoint(context, maxx, maxy, midx, maxy, filletRadius);

    CGContextAddArcToPoint(context, minx, maxy, minx, midy, filletRadius);

    

    //CGContextFillPath(context);

    //CGContextDrawPath(context, kCGPathFillStroke);

    CGContextClosePath(context);

    CGContextSaveGState(context);

}


2. CGContextAddPath / UIBezierPath


//这是一个完整的实例了~

  CGRect drawRect = {30,30,100,100};

    

    CGContextRef context = UIGraphicsGetCurrentContext();

   

    

    CGContextSetLineWidth(context, 1.5);

    

    

    CGContextSetStrokeColorWithColor(context, [UIColor greenColor].CGColor);

    

    

    UIBezierPath *bezierPath = [UIBezierPath bezierPathWithRoundedRect:drawRect cornerRadius:10];

    CGContextAddPath(context, bezierPath.CGPath);

    

    CGContextStrokePath(context);

    


3.设置layer的属性

cornerRadius  ---- 圆角的半径
borderWidth   ---- 边线的宽度
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值