2

ラベルの再生時間を常に更新する必要があります。NSTimeInterval currentProgress = self.moviePlayerController.currentPlaybackTime;double値を返す時間が取得されています。しかし、表示する必要のある形式は「MM:SS」(00:00)です。私は次のコードを試しました

NSTimeInterval currentProgress = self.moviePlayerController.currentPlaybackTime;

float min = floor(currentProgress/60);
float sec = round(currentProgress - min * 60);

進行時間が10分10秒の場合、「10:10」のように完全に正常に表示されます。ただし、ここでの問題は、進行時間が1分7秒の場合、ラベルに「1:7」と表示されることです。私の意図した表示は「01:07」です。どうやってやるの?

4

2 に答える 2

8
NSString *time = [NSString stringWithFormat:@"%02d:%02d", (int)min, (int)sec];

これを試して。うまくいくはずです!

于 2012-06-13T10:01:33.850 に答える
5

これでうまくいくはずです:

int seconds = (int)currentProgress % 60;
int minutes = currentProgress / 60;

NSString *result = [NSString stringWithFormat:@"%02d:%02d", minutes, seconds];

フォーマット指定子は、フィールドが少なくとも2文字の幅%02dになるように、自動的に0を埋め込みます。

于 2012-06-13T10:06:10.780 に答える