iOS开发拾碎

iOS view的单个或多个圆角切割

2019-06-01  本文已影响0人  王加水

UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:self.testImgV.bounds byRoundingCorners:UIRectCornerTopLeft | UIRectCornerBottomRight cornerRadii:CGSizeMake(100,100)];
CAShapeLayer *layer = [[CAShapeLayer alloc] init];
layer.frame = self.testImgV.bounds;
layer.path = path.CGPath;
self.testImgV.layer.mask = layer;

+ (instancetype)bezierPathWithRoundedRect:(CGRect)rect byRoundingCorners:(UIRectCorner)corners cornerRadii:(CGSize)cornerRadii;

//上述方法中的corner参数设置需要变化的角
typedef NS_OPTIONS(NSUInteger, UIRectCorner) {
    UIRectCornerTopLeft     = 1 << 0,    //上左
    UIRectCornerTopRight    = 1 << 1,    //上右
    UIRectCornerBottomLeft  = 1 << 2,    //下左
    UIRectCornerBottomRight = 1 << 3,    //下右
    UIRectCornerAllCorners  = ~0UL
};

上一篇 下一篇

猜你喜欢

热点阅读