2010-01-01 5 views
2

1 분 타이머를 시각적으로 나타 내기 위해 사용하는 UIProgressView가있는 경우 UIProgressView가 변경되지 않습니다. 폭은 280 픽셀입니다. 나는 NSTimer를 사용하여 progress = 1.0에서 시작하여 'progress'값을 점차 감소시킵니다. '진행'은 10 분의 1 초마다 한 번 업데이트됩니다. 마지막 2 초를 제외한 모든 부분에서, 내가 원하는대로 정확하게 진행됩니다.0.0 <progress <0.03

'진행률'값이 0.03 미만으로 내려 가면 '진행률'이 0.0에 도달 할 때까지 UIProgressView의 이동이 중지됩니다 (약 0.2cm 막대 표시).이 시점에서 .2cm 막대가 사라집니다.

왜 UIProgressView가 이런 식으로 행동하는지 아는 사람이 있습니까? 디자인에 의한 것입니까, 아니면 제가 잘못하고있는 것입니까?

편집 :

mjdth, 나는 그것이 NSTimer 내가 '진보'의 가치를 보여 NSLog를 사용하고, 호출하는 방법부터, 반올림과 관련이있다 생각하지 않는다

, 6 자리 유효 숫자로 인쇄됩니다.

2009-12-31 21 : 13 : 22.462 0.101669 XXXXXXX
2009-12-31 21 : 13 : 22.562 0.100003 XXXXXXX

그런 경우라면 또한, 움직임 모두 끊기는 것, 마지막 2 초가 아닙니다. 다음은 NSTimer가 호출하는 코드입니다.

- (void) updateProgressBar { 
    timerProgressBar.progress = [playEndTime timeIntervalSinceNow]/60.0; 
    NSLog(@"%f", timerProgressBar.progress); 
} 
+0

안녕 저스틴, 나는 타이머 바에 같은 문제가 있습니다. 주위에 어떤 일을 발견 했습니까? –

답변

0

진행 금액을 반올림하거나 계산하는 것과 관련이 있습니까? 우리가 볼 수 있도록 코드를 보여줄 수 있습니까? 진도 변수 자체가 0.3으로 계산되는 것일 수도 있습니다.

런타임 중에 진행 변수가 0.2 또는 0.1로 업데이트되는지 확인 했습니까?

2

진도 표시 줄의 둥근 끝 부분을 부분적으로 그릴 수 없으므로 의도적으로 설계된 것 같습니다. 특정 임계 값보다 낮지 만 0보다 큰 경우 엔드 캡 두 개가 그려지며 특정 레벨을 초과 할 때만 이미지의 가운데 부분이 그려지고 확장됩니다.

정상적인 진행 방향으로 진행률 표시 줄을 사용하면 효과가 있습니까? 그것은 다른 끝에 제한이 없기 때문에 정상적으로 마지막 몇 초를 그릴 수 있습니다.

0

색상이 바뀌지 않는다고 생각하면 수평으로보기를 뒤집고 비어있는 채로 점진적으로 채울 수 있습니다. 그것은 똑같은 문제가있을 것입니다. 그러나 끝 대신에 처음에는 문제가 있습니다.