60秒から始めて59、58、57など経過した時間カウントダウンを設定したい...この経過時間は画面下部に表示されます、これを設定するにはどうすればよいですか?私を助けてください
前もって感謝します
あなたはNSTimer
私の例を見てこれを行うことができます-宣言された
NSTimer *timer;
int count;
ViewController.h
あなたのクラス
でグローバルに
それからあなたはメソッドであなたのカウントダウンを始めることができますviewDidLoad:
。
- (void)viewDidLoad
{
//label is your **UILabel**
label.text = @"60";
count = 59;
timer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(countDown) userInfo:nil repeats:YES];
}
-(void)countDown
{
if(count > 0)
{
label.text = [[NSNumber numberWithInt:count] stringValue];
count --;
}
else
{
[timer invalidate];
}
}
次のように使用できます。
同様のNSTimer
オブジェクトを宣言します@interface
NSTimer *aTimer;
-(void)viewDidLoad
{
aTimer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(elapsedTime) userInfo:nil repeats:YES];
}
-(void)elapsedTime
{
static int i = 60;
label.text = [NSString stringWithFormat:@"%d",i];
i--;
if(i<0)
{
[aTimer invalidate];
aTimer = nil;
}
}
ここで、labelは、IBOutlet UILabel
interfaceに設定されているです。