QuiZアプリを開発しています。75:00.00 (mm:ss.SS) でタイマーを開始し、1 ミリ秒短縮して 00:00.00 (mm:ss.SS) に減らしたいという点で、カウントダウン タイマーが必要です。Time UP!のアラートを表示したい 時刻が 00:00.00 (mm:ss.SS) になったとき。
以下のリンクをたどって時間を表示しています
QuiZアプリを開発しています。75:00.00 (mm:ss.SS) でタイマーを開始し、1 ミリ秒短縮して 00:00.00 (mm:ss.SS) に減らしたいという点で、カウントダウン タイマーが必要です。Time UP!のアラートを表示したい 時刻が 00:00.00 (mm:ss.SS) になったとき。
以下のリンクをたどって時間を表示しています
これがあなたの問題に対する簡単な解決策です。
宣言
@interface ViewController : UIViewController
{
IBOutlet UILabel * result;
NSTimer * timer;
int currentTime;
}
- (void)populateLabelwithTime:(int)milliseconds;
-(IBAction)start;
-(IBAction)pause;
@end
意味
- (void)viewDidLoad
{
[super viewDidLoad];
currentTime = 270000000; // Since 75 hours = 270000000 milli seconds
}
-(IBAction)start{
timer = [NSTimer scheduledTimerWithTimeInterval:.01 target:self selector:@selector(updateTimer:) userInfo:nil repeats:YES];
}
-(IBAction)pause{
[timer invalidate];
}
- (void)updateTimer:(NSTimer *)timer {
currentTime -= 10 ;
[self populateLabelwithTime:currentTime];
}
- (void)populateLabelwithTime:(int)milliseconds {
int seconds = milliseconds/1000;
int minutes = seconds / 60;
int hours = minutes / 60;
seconds -= minutes * 60;
minutes -= hours * 60;
NSString * result1 = [NSString stringWithFormat:@"%@%02dh:%02dm:%02ds:%02dms", (milliseconds<0?@"-":@""), hours, minutes, seconds,milliseconds%1000];
result.text = result1;
}
タイマーを短縮するには、次のコードを使用します。
double dblRemainingTime=60; //1 minute
if(dblRemainingTime >0)
{
dblRemainingTime -= 1;
int hours,minutes, seconds;
hours = dblRemainingTime / 3600;
minutes = (dblRemainingTime - (hours*3600)) / 60;
seconds = fmod(dblRemainingTime, 60);
[lblRemainingTime setText:[NSString stringWithFormat:@"%02d:%02d",minutes, seconds]];
}
else
alert('Time up buddy');