倒计时加圆角设置
一、倒计时按钮
1、UIButton+countDown.h设置
/** * 倒计时按钮 * * @param timeLine 倒计时总时间 * @param title 还没倒计时的title * @param subTitle 倒计时中的子名字,如时、分 * @param color 倒计时中的颜色 */ - (void)startWithTime:(NSInteger)timeLine title:(NSString *)title countDownTitle:(NSString *)subTitle countColor:(UIColor *)color;
2、UIButton+countDown.m设置
- (void)startWithTime:(NSInteger)timeLine title:(NSString *)title countDownTitle:(NSString *)subTitle countColor:(UIColor *)color { //倒计时时间 __block NSInteger timeOut = timeLine; dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); dispatch_source_t _timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, queue); //每秒执行一次 dispatch_source_set_timer(_timer, dispatch_walltime(NULL, 0), 1.0 * NSEC_PER_SEC, 0); dispatch_source_set_event_handler(_timer, ^{ //倒计时结束,关闭 if (timeOut <= 0) { dispatch_source_cancel(_timer); dispatch_async(dispatch_get_main_queue(), ^{ //self.backgroundColor = mColor; [self setTitle:title forState:UIControlStateNormal]; self.userInteractionEnabled = YES; }); } else { int allTime = (int)timeLine + 1; int seconds = timeOut % allTime; NSString *timeStr = [NSString stringWithFormat:@"%0.2d", seconds]; dispatch_async(dispatch_get_main_queue(), ^{ self.backgroundColor = color; [self setTitle:[NSString stringWithFormat:@"%@%@",timeStr,subTitle] forState:UIControlStateNormal]; self.userInteractionEnabled = NO; }); timeOut--; } }); dispatch_resume(_timer); }
3、SB中设置的倒计时按钮
#import "UIButton+countDown.h" @interface ViewController () @property (strong, nonatomic) IBOutlet UIButton *btn_count; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; [self.btn_count addTarget:self action:@selector(hhh) forControlEvents:UIControlEventTouchDown]; } - (void)hhh { [self.btn_count startWithTime:10 title:@"重新获取证码" countDownTitle:@"s" countColor:[UIColor lightGrayColor]]; } @end
二、设置圆角
1、UIView+CornerRadius.h的设置
#import <UIKit/UIKit.h> @interface UIView (CornerRadius) @property (nonatomic, assign) IBInspectable CGFloat cornerRadius; @end
2、UIView+CornerRadius.m的设置
#import "UIView+CornerRadius.h" @implementation UIView (CornerRadius) - (void)setCornerRadius:(CGFloat)cornerRadius { self.layer.cornerRadius = cornerRadius; self.layer.masksToBounds = cornerRadius > 0; } - (CGFloat)cornerRadius { return self.layer.cornerRadius; } @end
3、SB中设置
好倒计时圆角按钮完成!