Bu kod, bir geri sayım sayacı oluşturmak için kullanılır.
Kod .h dosyası.
.m dosyası için kod.
@implementation UIMyController
@synthesize myCounterLabel;
int hours, minutes, seconds;
int secondsLeft;
- (void)viewDidLoad {
[super viewDidLoad];
secondsLeft = 16925;
[self countdownTimer];
}
- (void)updateCounter:(NSTimer *)theTimer {
if(secondsLeft > 0) {
secondsLeft -- ;
hours = secondsLeft/3600;
minutes = (secondsLeft % 3600)/60;
seconds = (secondsLeft %3600) % 60;
myCounterLabel.text = [NSString stringWithFormat:@"%02d:%02d:%02d", hours, minutes, seconds];
} else {
secondsLeft = 16925;
}
}
-(void)countdownTimer {
secondsLeft = hours = minutes = seconds = 0;
if([timer isValid]) {
[timer release];
}
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
timer = [NSTimer scheduledTimerWithTimeInterval:1.0f target:self selector:@selector(updateCounter:) userInfo:nil repeats:YES];
[pool release];
}
Bu yardımcı olur umarım.
Çalıştığınız için çok teşekkür ederim :) –
Sanırım 30 dakikalık bir zamanlayıcınız varsa ekranınız kapanacak ve uygulamanız çalışmayacaktır. Yani eğer uygulamanıza gitmek için ekrana dönerseniz, geçiş süresini geri saymazsınız. –
bununla ilgili bir problem: navigasyon kontrol cihazını kullanırsanız, önceki görünüme geri dönün ve bu görünümü yeniden yükleyin, saniyeler bir yerine ikiye gider. – Kiddo