iOS版はすぐに記録保持カウントダウンボタンを実装します

ログイン、登録、パスワード回復ページ、などの後のiOS開発は、多くの場合、カウントダウンボタンを達成する必要がありますが、多くの場合、ユーザーがページに再びカウントダウンのカウントダウンを開始するためのボタンをクリックすると、彼らはもう一度クリックすることができ、カウントダウンレコードがあるが、通常の状況下では、保持されませんサーバが再びチェックしますが、私たちはもっと厳しい達成することができます。

ZXCountDownViewサポートが自動的にカウントダウンレコードを保存、あなたは現在のコントローラを終了した場合でも、アプリケーションを再起動して、カウントダウンが異なるコントローラの数をサポートするために、残っているようなレコードを共有するためのログイン、登録、パスワード回復ページのカウントダウンとしてカウントダウンレコードを、共有し、いずれかのボタンのカウントダウンをクリックしてくださいレコードのリアルタイム同期。


ZXCountDownView

インストール

CocoaPodsをインストールすることで、

pod 'ZXCountDownView'

手動インポート

  • ZXCountDownViewは、プロジェクトにドラッグ。

インポートヘッダファイル

#import "ZXCountDownView.h"

レンダリング


デモ

  • カウントダウンラベルを設定し、自動的にカウントダウンの進行状況を記録します。
//第一个参数40即为倒计时时间为40秒,第二个参数mark用于标记区分当前倒计时任务和其他倒计时任务,确保与其他任务不重名即可,block第一个参数即为剩余秒数,block返回值即为显示在Label上的文字。(此处实现了一个倒计时40秒,且显示”还剩40、39、38...秒哦“的Label)
[self.scheduleStoreLabel setCountDown:40 mark:@"ScheduleStoreLabel" resTextFormat:^NSString *(long remainSec) {
    if(remainSec > 30){
        weakSelf.scheduleStoreLabel.backgroundColor = [UIColor orangeColor];
    }else{
        weakSelf.scheduleStoreLabel.backgroundColor = [UIColor redColor];
    }
    //显示剩余几分几秒
    NSString *timeformatStr = [NSDate getDateStrWithSec:remainSec dateFormat:@"mm分ss秒"];
    return timeformatStr;
}];
//开始倒计时
[self.scheduleStoreLabel startCountDown];
  • 確認コードを設定し、自動的にカウントダウンの進行状況を記録するために、ボタンのクリック:
//此处实现了一个倒计时20秒,且显示“还剩20、19、18...秒后重试”的Btn,且退出重新进入当前控制器或重启App不受影响。
[self.getCheckCodeBtn enableAutoCountDown:20 mark:@"GetCheckCodeBtn" resTextFormat:^NSString *(long remainSec) {
    return [NSString stringWithFormat:@"%ld秒后重发",remainSec];
}];
#pragma mark 点击了获取验证码按钮
- (IBAction)getCheckCodeAction:(id)sender {
    //判断如果手机号码不合法,可不触发倒计时
    if(0){
        self.getCheckCodeBtn.start = NO;
        return;
    }
    NSLog(@"执行获取验证码操作!!");
    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
        //判断如果验证码请求失败,可重置倒计时按钮
        if(0){
            [self.getCheckCodeBtn resume];
        }
    });
}
  • あなたは直接、UIコントロールに依存しているタスクのカウントダウンを開くことができません。
ZXCountDownCore *countDownCore = [[ZXCountDownCore alloc]init];
[countDownCore setCountDown:10 mark:@"testCountDown" resBlock:^(long remainSec) {
    //每秒执行一次
    NSLog(@"remainSec--%ld",remainSec);
}];
//开始倒计时
[countDownCore startCountDown];
  • 自動ストレージカウントダウンスケジュールを有効または無効にします。
//disableScheduleStore 是否不存储倒计时进度,默认为NO,即默认存储倒计时进度
obj.disableScheduleStore = YES;
obj.disableScheduleStore = NO;
  • カウントダウンコントロール:
//开始倒计时
-(void)startCountDown;
//重新开始倒计时
-(void)reStartCountDown;
//结束倒计时
-(void)stopCountDown;
  • あなたは、検証コードを取得し、検証コードボタンにサインアップし、コードボタンを取得するには、パスワードを取得し、ログインボタンとして異なるカウントダウンビュー共有進捗の数を、実装する必要がある場合は、単純に同じマークを設定することができます。

githubのアドレスZXCountDownView

おすすめ

転載: www.cnblogs.com/zxlee/p/10938331.html