首页 > 代码库 > 纯代码实现实现各种效果的圆角按钮。

纯代码实现实现各种效果的圆角按钮。

 

 

 

#import <UIKit/UIKit.h>@interface APRoundedButton : UIButton@property (nonatomic, assign) int style;@end
////  Created by Alberto Pasca on 27/02/14.//  Copyright (c) 2014 albertopasca.it. All rights reserved.//#import "APRoundedButton.h"#import <QuartzCore/QuartzCore.h>@implementation APRoundedButton- (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;      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(20.0, 30.0)];  CAShapeLayer *maskLayer = [CAShapeLayer layer];  maskLayer.frame         = self.bounds;  maskLayer.path          = maskPath.CGPath;  self.layer.mask         = maskLayer;}@end