MqlClock库的使用与UITableViewCell每一个cell独立倒计时

这是我写的关于iOS倒计时的框架
https://github.com/MQL9011/MqlClock
其中既有NSTimer也有CADisplayLinkTimer

LJDD.gif

UITableViewCell每一个cell独立倒计时,且支持后台切换,滑动不卡,支持暂停和继续。

使用MqlClock

对于普通的UIlabel与UIButton的倒计时,用NSTimer就可以方便的做到。

引入头文件

#import "MqlClock.h"

添加代理 并初始化

@interface ViewController ()

- (void)viewDidLoad {
    [super viewDidLoad];
    [self setUpUI];

    self.mc = [MqlClock sharedMqlClock];
    self.mc.delegate = self;
}

拿到当前时间并显示在Label上

#pragma mark MqlClockDelegate

- (void)showTheTimeNow:(NSString *)nowTime{
    self.timeLable.text = nowTime;

}

按钮点击事件中设置按钮上的倒计时秒数

- (void)startCountDownTime{
    [self.mc setTheCountDownWithSecond:20];
}

代理方法中获取当前倒计时秒数并显示在按钮上

- (void)countDown:(NSString *)cdTimer{
    [self.countDownBtn setTitle:[NSString stringWithFormat:@"倒计时%@",cdTimer] forState:UIControlStateNormal];
}
有朋友需要列表单元格中各自倒计时的使用MqlClock也可以做到,还支持倒计时不同时间,后台倒计时,列表滑动等。

引入头文件

#import "UITableViewCell+MqlClock.h"

设置cell倒计时开始秒数

关于msStartSecond这个属性,我是使用runTime中的接口通过Category的方式给UITableViewCell加了个属性,为了方便给不同cell设置开始倒计时秒数。
    cell.mcStartSecond = [NSString stringWithFormat:@"%ld",(indexPath.row * 10 + 10)];

在自定义UITableViewCell中调用计时事件就会开始倒计时

- (void)runCountDown{
    [self runCADisplayLinkTimer];
}

通过这个UITableViewCell的Category的方法可以获取当前倒计时并显示到cell中的label上

- (void)showTheCountDownTime:(NSString *)time{
    self.timeLable.text = time;
}
MqlClock库的使用与UITableViewCell每一个cell独立倒计时_第1张图片
iOS-MqlClock交流群群二维码.png

the end

你可能感兴趣的:(MqlClock库的使用与UITableViewCell每一个cell独立倒计时)