본문 바로가기

프로그래밍/iOS

[iOS] Timer 라벨 만들기

1초마다 라벨값이 변하는 타이머 만들기

표시되는 방식은 00:00:00 시:분:초이다.


_startTime = [NSDate date]; // 시작 날짜 설정


[NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(setTimeStringToCurrentTrackingTimeLabel) userInfo:nil repeats:YES]; // 1초마다 해당 함수 호출


-(void) setTimeStringToCurrentTrackingTimeLabel

{

    // 경과 시간 구하기

    int time = -[_startTime timeIntervalSinceNow];


    // 경과 시간을 각각 시, 분, 초로 계산

    int hour, min, sec;

    hour = time/(60*60);

    time %=60*60;

    min = time/60;

    time %=60;

    sec = time;

    _label.text = [NSString stringWithFormat:@"%02d:%02d:%02d",hour,min,sec]; // 라벨에 text 업데이트

}