iOS view的上左 上右 下左 下右 的单独圆角问题

有时在开发中,我们需要处理一些诸如下图的问题,当我们需要四个角都是圆角的时候,这时候很好处理,只需要设置 layer.cornerRadius 即可,但当只需要两个圆角时,这时就比较难处理了。


00EC205E-6C17-43FF-AD92-33A3C1847322.png

这时我们可以用CAShapeLayer来处理这个问题。

    UIView * view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];
    view.backgroundColor=[UIColor greenColor];
    [self.view addSubview:view];
    CAShapeLayer *maskLayer = [CAShapeLayer layer];
    maskLayer.path = [UIBezierPath bezierPathWithRoundedRect:view.bounds byRoundingCorners: UIRectCornerBottomLeft | UIRectCornerBottomRight cornerRadii: (CGSize){5.0f, 5.0f}].CGPath
    view.layer.masksToBounds = YES;
    view.layer.mask = maskLayer;

UIRectCorner有五种
UIRectCornerTopLeft //上左
UIRectCornerTopRight //上右
UIRectCornerBottomLeft // 下左
UIRectCornerBottomRight // 下右
UIRectCornerAllCorners // 全部

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容