ios中如何将UIView设置为圆角

来源:互联网 发布:1 手机 知乎 编辑:程序博客网 时间:2024/05/17 04:43

今天刚好需要添加一个圆角的view。网上搜索了一下。找到如下两种方法。

一、直接设置(已通过测试)

必须先导入头文件。

 

#import <QuartzCore/QuartzCore.h>

...

    bgView.layer.cornerRadius = cornerRadiusInPixels;

    bgView.layer.masksToBounds = YES;

    bgView.opaque = NO;

 

二、在drawRect里画(未测试)

...

    CGFloat radius = 20.0;
    CGContextRef context = UIGraphicsGetCurrentContext();
    CGContextSetRGBStrokeColor(context, 1.0, 1.0, 1.0, 1);
    CGFloat minx = CGRectGetMinX(rect), midx = CGRectGetMidX(rect), maxx = CGRectGetMaxX(rect);
    CGFloat miny = CGRectGetMinY(rect), midy = CGRectGetMidY(rect), maxy = CGRectGetMaxY(rect);
    CGContextMoveToPoint(context, minx, midy);
    CGContextAddArcToPoint(context, minx, miny, midx, miny, radius);
    CGContextAddArcToPoint(context, maxx, miny, maxx, midy, radius);
    CGContextAddArcToPoint(context, maxx, maxy, midx, maxy, radius);
    CGContextAddArcToPoint(context, minx, maxy, minx, midy, radius);
    CGContextClosePath(context);
    CGContextDrawPath(context, kCGPathFill);