- (void)awakeFromNib
{
[super awakeFromNib];
UIRectCorner corners;
switch ( self.style )
{
case 0:
corners = UIRectCornerBottomLeft;
break;
case 1:
corners = UIRectCornerBottomRight;
break;
case 2:
corners = UIRectCornerTopLeft;
break;
case 3:
corners = UIRectCornerTopRight;
break;
case 4:
corners = UIRectCornerBottomLeft | UIRectCornerBottomRight;
break;
case 5:
corners = UIRectCornerTopLeft | UIRectCornerTopRight |UIRectCornerBottomLeft;
break;
case 6:
corners = UIRectCornerBottomLeft | UIRectCornerTopLeft;
break;
case 7:
corners = UIRectCornerBottomRight | UIRectCornerTopRight;
break;
case 8:
corners = UIRectCornerBottomRight | UIRectCornerTopRight |UIRectCornerTopLeft;
break;
case 9:
corners = UIRectCornerBottomRight | UIRectCornerTopRight |UIRectCornerBottomLeft;
break;
default:
corners = UIRectCornerAllCorners;
break;
}
UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:self.bounds
byRoundingCorners:corners
cornerRadii:CGSizeMake(30.0, 30.0)];
CAShapeLayer *maskLayer = [CAShapeLayer layer];
maskLayer.frame = self.bounds;
maskLayer.path = maskPath.CGPath;
self.layer.mask = maskLayer;
}