- (void)roundSide:(SMBSide)side
{
UIBezierPath *maskPath;
if (side == kSMBSideLeft)
maskPath = [UIBezierPath bezierPathWithRoundedRect:self.bounds
byRoundingCorners:(UIRectCornerTopLeft|UIRectCornerBottomLeft)
cornerRadii:CGSizeMake(8.f, 8.f)];
else if (side == kSMBSideRight)
maskPath = [UIBezierPath bezierPathWithRoundedRect:self.bounds
byRoundingCorners:(UIRectCornerTopRight|UIRectCornerBottomRight)
cornerRadii:CGSizeMake(8.f, 8.f)];
else if (side == kSMBSideUp)
maskPath = [UIBezierPath bezierPathWithRoundedRect:self.bounds
byRoundingCorners:(UIRectCornerTopLeft|UIRectCornerTopRight)
cornerRadii:CGSizeMake(8.f, 8.f)];
else
maskPath = [UIBezierPath bezierPathWithRoundedRect:self.bounds
byRoundingCorners:(UIRectCornerBottomLeft|UIRectCornerBottomRight)
cornerRadii:CGSizeMake(8.f, 8.f)];
// Create the shape layer and set its path
CAShapeLayer *maskLayer = [CAShapeLayer layer];
maskLayer.frame = self.bounds;
maskLayer.path = maskPath.CGPath;
// Set the newly created shape layer as the mask for the image view's layer
self.layer.mask = maskLayer;
[self.layer setMasksToBounds:YES];
}
定义一个UIView的类别,编写这样一个方法,让button调用就可以了。
[_button roundSide:kSMBSideRight];