2013-06-17 30 views
24

Sınavların devam ettiği bir uygulama yapıyorum, bu yüzden sınav başladığında, zaman bununla başlamalıdır. Örneğin 30 dakika ve 29:59 gibi azalmalı.CountDown Zamanlayıcı ios eğitimi?

Bunu nasıl uygulayabilirim?

Lütfen bana örnek bir örnek veya takip edeceğim adım adım eğitici adımı verebilir misiniz?

cevap

66

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.

+0

Çalıştığınız için çok teşekkür ederim :) –

+0

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. –

+1

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