美文网首页iOS技术交流收藏
iOS给view设置部分圆角

iOS给view设置部分圆角

作者: 不简单的风度 | 来源:发表于2016-06-08 13:52 被阅读4509次

直接上代码


UIImage *img = [UIImage ly_imageWithColor:[UIColor redColor]];
    self.imgView = [[UIImageView alloc] initWithImage:img];
    self.imgView.frame = CGRectMake(100, 100, 100, 100);
    [self.view addSubview:self.imgView];
    
    UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:self.imgView.bounds byRoundingCorners:UIRectCornerTopLeft|UIRectCornerTopRight cornerRadii:CGSizeMake(10, 10)];
    CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init];
    maskLayer.frame = self.imgView.bounds;
    maskLayer.path = maskPath.CGPath;
    self.imgView.layer.mask = maskLayer;

效果如图:

Paste_Image.png

关于参数:

第二个参数byRoundingCorners:(UIRectCorner)corners允许指定矩形的部分角为圆角,而其余的角为直角,取值来自枚举:

typedef NS_OPTIONS(NSUInteger, UIRectCorner) {
    UIRectCornerTopLeft     = 1 << 0,
    UIRectCornerTopRight    = 1 << 1,
    UIRectCornerBottomLeft  = 1 << 2,
    UIRectCornerBottomRight = 1 << 3,
    UIRectCornerAllCorners  = ~0UL
};

其最后一个参数cornerRadii:(CGSize)cornerRadii指定了圆角的半径,但这里需要注意,这个参数的取值是 CGSize类型,也就意味着这里需要给出的是椭圆的半径。

相关文章

网友评论

    本文标题:iOS给view设置部分圆角

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