2013-06-17 4 views
24

시험이 진행되는 곳에서 신청서를 작성합니다. 시험을 시작할 때부터 시작해야합니다. 예를 들어 30 분이면 29:59처럼 줄여야합니다.CountDown Timer ios 튜토리얼?

어떻게 구현할 수 있습니까?

누구든지 나를 따라갈 수있는 예제 튜토리얼 또는 단계별 튜토리얼을 제공 할 수 있습니까?

답변

66

이 코드는 카운트 다운 타이머를 만드는 데 사용됩니다.

.h 파일의 코드입니다.

.mfile 용 코드.

@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]; 
} 

희망이 도움이됩니다.

+0

정말 고마워요. –

+0

30 분짜리 타이머를 사용하면 화면이 꺼지고 앱이 작동을 멈 춥니 다. 따라서 앱으로 이동하기 위해 화면을 다시 돌리면 통과 시간이 카운트 다운되지 않습니다. –

+1

이 문제는 탐색 컨트롤러를 사용하는 경우 이전보기로 돌아가서이보기를 다시로드하면 초가 하나가 아닌 두 개가됩니다. – Kiddo