iPhone цифровые часы

После долгого времени, которое я потратил на то, чтобы заставить работать аналоговые часы, я пытаюсь сделать цифровые (вздох). Я пытаюсь сделать это с 10 PNG с числами от 0 до 9. Каждая цифра часов будет изображением. Единственная проблема с этим - получение определенной цифры из текущего времени. Я пытался преобразовать время в строку и использовать characterAtIndex, но это, похоже, не работает. Что было бы лучшим способом обойти это?


person Andy B    schedule 03.02.2011    source источник
comment
Привет, @Andy, твоя проблема решена, потому что у меня та же проблема, что и у тебя. Пожалуйста, не могли бы вы помочь мне сделать цифровое изображение с 10 изображениями (0-9).   -  person Rani    schedule 11.07.2011


Ответы (1)


Вы можете использовать NSDateComponents и NSCalendar:

NSDate * date = [NSDate date];
NSCalendar * calendar = [[NSCalendar alloc]
                         initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents * components =
                    [calendar components:(NSHourCalendarUnit | NSMinuteCalendarUnit) fromDate:date];

NSInteger hour = [weekdayComponents hour];
NSInteger minute = [weekdayComponents minute];
NSInteger firstHourDigit = hour/10;
NSInteger secondHourDigit = hour%10;
NSInteger firstMinuteDigit = minute/10;
NSInteger secondMinuteDigit = minute%10;
person Marco Mustapic    schedule 03.02.2011
comment
Спасибо за ответ, интересный подход. Я не думал, что это будет так просто! Я попробую это в ближайшее время. - person Andy B; 03.02.2011
comment
Однако это не работает... Я пытался использовать это: [minOne setImage:[UIImage imageNamed:[NSString stringWithFormat:@%i.png, secondMinuteDigit]]]; Что я делаю неправильно? - person Andy B; 04.02.2011
comment
Он не обновляет изображение, хотя я использую ntimer... Однако изображение появляется. - person Andy B; 04.02.2011