NSTimer Xの残り時間にアクセスしようとしています。ボタンのタイトルを毎秒更新して、mm:ss
ゼロまでの残り時間を反映させたいと思います。ここには何も見つかりませんでした。
例えば:[btY setTitle:[What to insert here?] forState:UIControlStateSelected];
それとも、これを別の方法で解決したいですか?
NSTimer Xの残り時間にアクセスしようとしています。ボタンのタイトルを毎秒更新して、mm:ss
ゼロまでの残り時間を反映させたいと思います。ここには何も見つかりませんでした。
例えば:[btY setTitle:[What to insert here?] forState:UIControlStateSelected];
それとも、これを別の方法で解決したいですか?
あなたはfireDateを使うことができます
NSTimer *timer = [NSTimer timerWithInterval:1.0 target:self selector:@selector(updateButton) userInfo:nil repeats:YES];
- (void)updateButton:(NSTimer*)timer
{
float timeRemaining = timer.fireDate.timeIntervalSinceNow;
// Format timeRemaining into your preferred string form and
// update the button text
}
これは通常、これを解決する方法ではありません。
代わりに、ボタンを更新する解像度に設定された繰り返し NSTimer を作成します。
たとえば、ボタンをゼロになるまで毎秒変更する場合は、次のように NSTimer を作成します。
NSTimer *timer = [NSTimer timerWithInterval:1.0 target:self selector:@selector(updateButton) userInfo:nil repeats:YES];
次に実装しupdateButton
ます。基本的に残り秒のカウンターを持ち、呼び出されるたびupdateButton
にカウンターを1つ減らし、ボタンのタイトルを更新します。
この種の情報を取得することはできません。代わりに、タイマーを数回実行する必要があります。たとえば、30 秒でタイマーを開始する代わりに、30 秒ごとに 1 回ボタンをテキストで更新する場合です。 1秒でタイマーを開始し、それを30回繰り返します