Правильный способ рассчитать время для метки доступности, которая обновляется при изменении значения UISlider?
Поэтому я использую UISlider для скруббера аудиоплеера. Я пытаюсь обновить метку всякий раз, когда изменяется значение UISlider, чтобы он мог правильно отображать текущее время звука в минутах и секундах. Вот мой текущий код:
- (IBAction)valueChanged:(id)sender {
if (!self.scrubbing) {
[[CRAudioUtility sharedUtility]seekToTime:self.progressSlider.value];
NSInteger value = [CRAudioUtility sharedManager].currentPlaybackTime;
NSInteger minutes = value / 60;
NSInteger seconds = value % 60;
NSString *time_stamp = [NSString stringWithFormat:@"%d hours:%d minutes",minutes,seconds];
[self.progressSlider setAccessibilityValue:time_stamp];
self.progressSliderLabel.text = [NSString stringWithFormat:@"%d:%d minutes",minutes,seconds;
}
}
Аудио элементы могут быть, а могут и не быть длиннее часа, а продолжительность может быть больше одного часа.
Поскольку объявлена accessibilityLabel, я должен убедиться, что слово "hour" правильно объявлено в формате единственного или множественного числа. Какие решения я могу сделать, чтобы справиться с этим делом?
1 ответ
Решение
Какие решения я могу сделать, чтобы справиться с этим делом?
Похоже, вы просто хотите рассмотреть различные возможности отдельно:
if (minutes > 120) {
time_stamp = [NSString stringWithFormat:@"%d hours:%d minutes", minutes / 60, minutes % 60];
}
else if (minutes > 60) {
time_stamp = [NSString stringWithFormat:@"1 hour:%d minutes", minutes % 60];
}
else {
time_stamp = [NSString stringWithFormat:@"%d:%d minutes", minutes, seconds];
}