2013-07-19 4 views
-1

UIProgressView를 가져 와서 NSTimer (20s)와 연결하고 진행 막대 "카운트 다운"을 타이머와 부드럽게 연결하고 싶습니다. 내가 찾은 정보가 나에게 동의하지 않는 것 같습니다.뒤로 진행 막대 (카운트 다운)

아무에게도 어떻게 할 수 있습니까?

+0

수 ' 너 알아 낸거야? 거꾸로 만들어? 타이머는 어떻게 작동합니까? –

+0

예, 두 가지를 성공적으로 연결하지 못했습니다. 나는 타이머가 작동하는 방법을 알고 있지만, 나는 진행 뷰를 처음 접했으므로, 앞으로 어떻게 움직일지를 모른다. – Maegan

+0

카운트 다운과 같은 작업에는 진행률 표시 줄을 사용할 수 없습니다. 그것은 "카운트 다운 바"가 아닌 _ 진행 바입니다. 역방향으로 실행하면 사용자가 혼동을 일으킬 수 있습니다. – CouchDeveloper

답변

-1

은 NSTimer 지금처럼 NSTimer의 사용자 정보 속성에 따라 UIProgressView를 업데이트 함수에 다음

#define TIMER_INTERVAL 0.05f 

[NSTimer scheduledTimerWithTimeInterval:TIMER_INTERVAL 
    target:self 
    selector:@selector(timerMethod:) 
    userInfo: [NSNumber numberWithFloat:1.0f] 
    repeats:YES]; 

로, 함수를 호출 유무 : 어느 부분

-(void) timerMethod: (NSTimer *)timer 
{ 
    float progress = timer.userInfo.floatValue; 
    [progressView setProgress:progress animated:YES]; 

    if (progress <= 0.0f) 
     [timer invalidate]; 
    else 
     timer.userInfo = [NSNumber numberWithFloat:(progress - (1.0f/20.0f)*TIMER_INTERVAL)]; 
} 
+0

모노 남자 또는 오타? ('.Invalidate();와'NumberWithFloat :'와'if (float <= 0.0f)') –

+0

오타가 있습니다. 예. 그냥 오타 야. –

+0

@PatLillis _ 감사합니다 !! _ – Maegan