iOSのいくつかの属性の設定はカウントダウンボタンを完成します
1615 ワード
概要
簡単な属性設定で「ページを終了/APP/システムを変更する時間を殺す」ことを恐れないカウントダウンボタンを持つことができます
Code
AZTools/UIButton+AZCountDown
使用
高速統合
ヘッダファイルを追加
属性の設定
シナリオの概要
ページを終了/アプリを殺すことでカウントダウンをリセットしない
カウントダウンの有効期限は、一意のフラグビットによってローカルに記録され、
システム時間の修正カウントダウンの防止
ストレージの有効期限は、携帯電話のローカル時間とは無関係にサーバ時間です.ここでは主に
簡単な属性設定で「ページを終了/APP/システムを変更する時間を殺す」ことを恐れないカウントダウンボタンを持つことができます
Code
AZTools/UIButton+AZCountDown
使用
高速統合
pod 'AZTools'
ヘッダファイルを追加
#import
属性の設定
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
//
[self.button az_cd_recover];
}
- (void)viewDidLoad {
[super viewDidLoad];
// ...
self.button.az_cd_identify = @"AZCountDownDemoBtn";
self.button.az_cd_count = 60;
self.button.az_cd_countdownBlock = ^(NSInteger countDown, UIButton * _Nonnull button) {
[button setTitle:[NSString stringWithFormat:@"%lds",(long)countDown] forState:UIControlStateDisabled];
};
self.button.az_cd_endBlock = ^{
NSLog(@" !");
};
}
- (IBAction)startCountDown:(UIButton *)sender {
//
[sender az_cd_start];
}
シナリオの概要
ページを終了/アプリを殺すことでカウントダウンをリセットしない
カウントダウンの有効期限は、一意のフラグビットによってローカルに記録され、
az_cd_recover
カウントダウンが再開されるたびにローカルから読み取り、残りの時間を計算します.システム時間の修正カウントダウンの防止
ストレージの有効期限は、携帯電話のローカル時間とは無関係にサーバ時間です.ここでは主に
AZServiceDate
というクラスが用いられ,サーバ時間と完全に同期するにはAZServiceDate
の更新サーバ時間メソッドを適切なタイミングで呼び出す必要がある.// AZServiceDate.h
/** URL Date ServiceDate */
+ (void)updateDateWithUrl:(nullable NSString *)url success:(dispatch_block_t)success failure:(dispatch_block_t)failure;
/** RFC3339 RFC822 string */
+ (void)updateStandardNetResponseDate:(nullable NSString *)dateStr;